Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kasowanie danych w formularzu po kliknięciu "wyślij"
Forum PHP.pl > Forum > Przedszkole
coomler
Witam, napisałem sobie formularz w php i chcę, aby po wysłaniu nie usuwało treści z pól. Da się to zrobić za pomocą js? Jeżeli nie to czego użyć w php? Sesji?
john_doe
dokładnie sesji. Po wysłaniu forma przypisujesz POSTy ( czy czym tam ślesz ) do zmiennych sesyjnych i jeżeli po poprawnym wysłaniu forma przekierowujesz z powrotem na niego to w tym momencie wypełnij inputy tymi zmiennymi.
  1. <input type="text" value="<?php echo $_SESSION['variable'] ?>" />
thek
Niekoniecznie sesja john smile.gif Sesja tak naprawdę jest przydatna tylko jeśli formularz ma pamiętać wyniki strony przy przechodzeniu wstecz. Jeśli nie musi, to wystarczy, że w polach zrobi się takie coś jak podałeś, ale z POST:
  1. <input name="aaa" value="<?php echo $_POST['aaa']; ?>" />
Ja sam bazujące na tym pomyśle formularze robię, tylko mam nieco bardziej to rozbudowane. Jednak sama idea jest identyczna - to co dostajesz z POST wrzuć jako value do input. Z innymi jest podobnie, tyle że to co z POST w textarea wstawia się między znacznikami, a dla select ustawia się znacznik selected, zaś checkbox i radio mają ustawiany checked.
To co podałeś z sesją jest jednak jak najbardziej przydatne gdy mamy do czynienia z formularzami wielopoziomowymi. Tam sesja jest już niemal nieodzowna, by nie przerzucać tego co było do tej pory jako inputy typu hidden.
coomler
Dzięki bardzo koledzy smile.gif Dopiero uczę się php i taka właśnie pomoc się przydaje!
celbarowicz
Po uruchomieniu skryptu zmienne sesyjne nie są ustawione to:
  1. <input type="text" value="<?php echo $_SESSION['variable'] ?>"


wyrzuca błąd.
Jakie są więc propozycje ,aby błąd nie występował?
Czy tak?

  1. if (!isset($_SESSION['variable'])){ $_SESSION['variable']='';}
bastard13
Osobiście proponuję:
  1. <input type="text" value="<?php echo (isset($_SESSION['variable']) ? $_SESSION['variable'] : ''); ?>" />

Jeżeli jest ustawiona zmienna to ją wyświetla, a jeżeli nie to wyświetla '', czyli nic:)
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.