Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Formularz pamięta stan pól input, po wciśnięciu przycisku submit chciałbym żeby nie zapamiętywał
Rafalll1984
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.10.2009

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


Jestem nowy na forum i dopiero raczkuje w php. Mam taki problem jak w temacie, męczę się z tym już od paru dni i nie wiem jak to rozgryźć (IMG:style_emoticons/default/sciana.gif)

Przejdę może do konkretów, do zapisywania danych z formularza wykorzystałem skrypt z artkułu "Formularz i stronicowanie - pamiętanie stanu" nospora LINK

po przekształceniu pod siebie mam taki kod:


  1. <?php
  2.  
  3.  
  4. if (!empty($_POST['wyslij']) && $jakas_zmienna==1)
  5. {
  6.  
  7. $_SESSION['formularz'] = array(
  8. 'imieinazwisko' => $_POST['imieinazwisko'],
  9. 'email' => $_POST['email'],
  10. 'zgoda' => $_POST['zgoda'],
  11. 'wiadomosc' => $_POST['wiadomosc']);
  12.  
  13. $dane_z_form = array(
  14. 'imieinazwisko' => !isset($_SESSION['formularz']) ? null : $_SESSION['formularz']['imieinazwisko'],
  15. 'email' => !isset($_SESSION['formularz']) ? null : $_SESSION['formularz']['email'],
  16. 'zgoda' => !isset($_SESSION['formularz']) ? null : $_SESSION['formularz']['zgoda'],
  17. 'wiadomosc' => !isset($_SESSION['formularz']) ? null : $_SESSION['formularz']['wiadomosc'], );
  18.  
  19. }
  20.  
  21. $jakas_zmienna=1;
  22.  
  23. ?>
  24.  


...Formularz jest walidowany, a po przejściu walidacji prawidłowo dalsza część skryptu wysyła mail z serwera

  1.  
  2. mail($adresat, $temat, $dane, $odkogo );
  3. echo "<strong>Wiadomość została wysłana!</strong>";
  4.  
  5. $jakas_zmienna=0; // i tu właśnie chciałbym żeby ta zmienna przyjęła wartość 0 i odniosła się do początku pliku, gdzie mamy if (!empty($_POST['wyslij']) && $jakas_zmienna==1). Żeby nie został spełniony warunek


i tu właśnie chciałbym żeby ta zmienna przyjęła wartość 0 i odniosła się do początku pliku, gdzie mamy if (!empty($_POST['wyslij']) && $jakas_zmienna==1). Żeby nie został spełniony warunek!

Poproszę o jakieś sugestie jak to rozwiązać, z czego skorzystać i na czym się skupić. Może ktoś ma zupełnie jakiś inny pomysł na rozwiązanie problemu. Będę wdzięczny za jakąkolwiek pomoc.

Ten post edytował Rafalll1984 29.10.2009, 11:43:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





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




Rafalll1984 zrób cokolwiek by zmienna sesyjna nie zawierała nic lub została usunięta. Możesz to zrobić poprzez nadpisanie pól formularza wartościami domyślnymi, usunięcie zmiennej sesyjnej (co proponuje nospor z użyciem unset) lub całkowicie pomiń "zabawę" ze zmienną sesyjną w pliku i zamiast przepisywać wszystko z POST do SESSION a potem z jeszcze do $dane_z_form działaj tylko na zmiennej POST. Ów skrypt, którego autorem jest nospor, jest tak zaprojektowany by pamiętał dane po naciśnięciu submit. Jeśli chcesz ten efekt usunąć świadomie to większość rzeczy jest tam zbędna i możesz się do najprostszego forma w zasadzie cofnąć (oczywiście zostawiając walidację) i nospor oraz inni Ci sami to przyznają (IMG:style_emoticons/default/smile.gif) Bo najprostszy form bez czegokolwiek ma takie domyślne zachowanie - by nie pamiętać.

Ten post edytował thek 29.10.2009, 12:45:27
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 08:47