Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Formularz
olekn
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 7.01.2009

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


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


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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.


--------------------
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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...

Ten post edytował Kshyhoo 12.07.2009, 14:44:43


--------------------
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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.


--------------------
Go to the top of the page
+Quote Post
Pr0100
post
Post #5





Grupa: Zarejestrowani
Postów: 114
Pomógł: 24
Dołączył: 18.01.2008
Skąd: Warszawa

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


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.

Ten post edytował Pr0100 12.07.2009, 15:02:17


--------------------
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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


--------------------
Go to the top of the page
+Quote Post
piotrooo89
post
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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...


--------------------
Go to the top of the page
+Quote Post
SzamanGN
post
Post #8





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Mam takie podstawowe pytanie:
Czy ten twój formularz jest w pliku HTML, czy PHP?


--------------------
SzamanGN
Go to the top of the page
+Quote Post
Pr0100
post
Post #9





Grupa: Zarejestrowani
Postów: 114
Pomógł: 24
Dołączył: 18.01.2008
Skąd: Warszawa

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


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


--------------------
Go to the top of the page
+Quote Post
SzamanGN
post
Post #10





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Może lepiej wklej kod swojego formularza, to będzie łatwiej.


--------------------
SzamanGN
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 - 05:26