Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Zapamiętywanie danych wpisywanych do formularza.
Forum PHP.pl > Forum > Przedszkole
pawel.ad
Jak po przeładowaniu strony wyświetlić to co użytkownik wpisał (przed przeładowaniem) do formularza?

Mianowicie mam formularz. Po naciśnięciu przycisku "Pokaż" formularz "resetuje się". Co zrobić aby formularz zapamiętał opcje które wybrał użytkownik, tj. zaznaczone checkboxy, opcje select i wpisaną liczbę.
blooregard
  1. <?php
  2. $pole = $_POST['pole'];
  3.  
  4.  
  5. ...
  6. ?>
  7.  
  8. <form>
  9. <input type="text" name="pole" value="<?php echo $pole; ?>" />
  10.  
  11. ...
  12. </form>

przyklad (bez walidacji itp.)
pawel.ad
Ok, dzięki.
Działa to elegancko, ale to dopiero 1/3 mojego problemu.

Co z polami select i checkbox?
Sky_walker
Funkcja If: jeśli wartość == wartości value dla danego option to echo "selected=\"selected\"";

podobnie z checkboks, tylko tam dajesz echo "checked=\"checked\""; jeśli wartość zmiennej z GET == wartości value dla danego pola.
thek
Widzę, ze chyba nigdy nie sprawdzałeś co zwraca Ci $_POST smile.gif
Checkbox wybrany w POST jest oznaczony jako $_POST['nazwa_pola'] = true, zaś select zwraca option który się wybrało. A więc $_POST['nazwa_selecta'] = wartość, gdzie jest to albo value dla tego option ( "coś" w <option value="coś">opcja</option>), albo tekst w nim, gdy brak zdefiniowanego value ( "opcja" dla <option>opcja</option> ). Nieco inaczej jest w przypadku multiple select lub kilku selectów o tym samym name[], bo wtedy zwraca tablicę. Ale o tym sam doczytaj. Mając takie dane chyba jesteś w stanie sam wymyślić jak przechwycić co i jak było wybrane w checkbox oraz select.
pawel.ad
Wiem co pobiera $_GET, ale myślałem że jest jakiś sprytniejszy sposób na to ;-).

W każdym razie dzięki za pomoc, poradziłem sobie.
Wynik można podziwiać:
TUTAJ
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.