Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kasowanie danych w formularzu po kliknięciu "wyślij", Co zrobić, aby tego nie robiło?
coomler
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.06.2010

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
john_doe
post
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


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'] ?>" />


Ten post edytował john_doe 14.07.2010, 07:20:39
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
coomler
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.06.2010

Ostrzeżenie: (10%)
X----


Dzięki bardzo koledzy smile.gif Dopiero uczę się php i taka właśnie pomoc się przydaje!
Go to the top of the page
+Quote Post
celbarowicz
post
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


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']='';}
Go to the top of the page
+Quote Post
bastard13
post
Post #6





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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:)

Ten post edytował bastard13 14.07.2010, 19:59:47


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:54