Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz
Forum PHP.pl > Forum > Przedszkole
olekn
Witam.
Mam taki problem: mam dość spory formularz, w którym wszystkie pola są wymagane (co jest później sprawdzane). Jeśli jakieś pole zostanie pominięte to wyskoczy wyjątek. Bardzo bym chciał by po powrocie do formularza był już on wypełniony danymi, które wcześniej zostały wpisane (bo denerwujące jest jak się ktoś pomyli w formularzu i przez to musi od nowa wszystko wypełniać). Czy jest jakiś sposób na to? Przeszukałem internet, ale nie wiem nawet jak to nazwać :/. Po powrocie do formularza tablica $_POST jest wyczyszczona, także jak dam w jakimś polu:
Kod
<input type="text" name="Imie" value="<?php echo $_POST['Imie'];?>">

to niestety nie wyświetli się wpisane wcześniej imię.
Myślałem, że może da się jakoś przesłać jeszcze raz tablicę $_POST... jednak nie mam pomysłu. Powrót do formularza odbywa się za pomocą przeładowania:
  1. <input type="button" value="Powrót" onClick="history.go(-1)">

Czy ktoś może wie jak sobie z tym poradzić?
Z góry dziękuję za wszelką pomoc.
Pozdrawiam
piotrooo89
rób wstępną walidacje po stronie przeglądarki - mówię tu o JavaScript, później możesz robić po stronie serwera PHP dla osób które np. wyłączyły obsługę JS'a.
Kshyhoo
Cytat(olekn @ 12.07.2009, 15:38:00 ) *
Bardzo bym chciał by po powrocie do formularza był już on wypełniony danymi, które wcześniej zostały wpisane (bo denerwujące jest jak się ktoś pomyli w formularzu i przez to musi od nowa wszystko wypełniać). Czy jest jakiś sposób na to?

Formularz musi być "lepki" lub "samoprzetwarzający", czyli w kodzie dajesz:
  1. <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

ale wydaje mi się, że najlepszym wyjściem było by wykorzystanie mechanizmu sesji...
piotrooo89
Cytat
ale wydaje mi się, że najlepszym wyjściem było by wykorzystanie mechanizmu sesji...


widzę że masz hardkorowe podejście. walidacja po stronie klienta jest naprawdę dobra.
Pr0100
Cytat
widzę że masz hardkorowe podejście. walidacja po stronie klienta jest naprawdę dobra.


tak ale wtedy musisz przeprowadzać proces walidacji dwa razy, a osoba pisząca ten temat raczej nie będzie umiała napisać jednej klasy która by jednocześnie generowała kod JS + walidowała poprzez PHP po wysłaniu formularza.
Kshyhoo
Cytat(piotrooo89 @ 12.07.2009, 15:49:17 ) *
widzę że masz hardkorowe podejście. walidacja po stronie klienta jest naprawdę dobra.

Zwłaszcza, że JS można wyłączyć ;p
piotrooo89
Cytat
Zwłaszcza, że JS można wyłączyć ;p


tak można dlatego napisałem wstępną walidacje. taka już z prawdziwego zdarzenia może (a nawet powinien) zrobić w PHP.

Cytat
a osoba pisząca ten temat raczej nie będzie umiała napisać jednej klasy która by jednocześnie generowała kod JS + walidowała poprzez PHP po wysłaniu formularza.


dlaczego z góry zakładasz że nie będzie umiała? niech się uczy...
SzamanGN
Mam takie podstawowe pytanie:
Czy ten twój formularz jest w pliku HTML, czy PHP?
Pr0100
Cytat
Mam takie podstawowe pytanie:
Czy ten twój formularz jest w pliku HTML, czy PHP?


jeżeli by był w HTMLu to by mu się pokazywał input o value: <?php echo $_POST['Imie'];?>... a o tym by Ciebie zapewne poinformował autor tematu

Cytat
dlaczego z góry zakładasz że nie będzie umiała?


osoby które są jako-tako ogarnięte w temacie nie pytają się o takie rzeczy smile.gif
SzamanGN
Może lepiej wklej kod swojego formularza, to będzie łatwiej.
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.