Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Ciasteczko "nie zaskakuje" po wysłaniu formularza (trzeba odświeżyć) - dlaczego?
-amrasi-
post
Post #1





Goście







Witam,
Stworzyłem prosty skrypt oparty jedynie o ciasteczka i formularz, który generalnie polega na tym, że skrypt prosi o wpisanie imienia, po czym imię jako zmienna wysyłane jest POST'em do ciasteczka i odtwarzane z niego (wtedy formularz znika i pojawia się opcja, aby zmienić imię).

Problem polega na tym - i nie rozumiem dlaczego tak się dzieje - iż po tym, jak daję wysyłanie - ciasteczko "nie zaskakuje" i aby zadziałało muszę np. odświeżyć stronę.

Dlaczego tak się dzieje i jak to zmienić/co zmienić aby działało? (Jakiś czas temu tworzyłem skrypt o podobnej mechanice, który musiałem zaimplementować na stronę i miałem ten sam problem).

Oto kod skryptu:

  1. <?php
  2. if(isset($_POST['zmien']))
  3. {
  4. setcookie("user", "", time()-3600);
  5. unset($_POST['zmien']);
  6. unset($_POST['imie']);
  7.  
  8. }
  9.  
  10. if(isset($_POST['imie']))
  11. {
  12. $imie = $_POST['imie'];
  13. setcookie("user", $imie, time()+3600*24*365);
  14. }
  15. ?>
  16. <!DOCTYPE html>
  17. <html lang="pl">
  18. <head>
  19. <meta charset="utf-8" />
  20.  
  21. </head>
  22. <body>
  23.  
  24. <?php
  25. if(isset($_COOKIE['user']))
  26. {
  27. echo "Witaj na stronie " . $imie . "<br />";
  28. echo '<form action="1.php" method="post">
  29. <input type="submit" name="zmien" value="Zmień imię">
  30. </form>';
  31. }
  32. else
  33. {
  34. echo 'Witaj nieznajomy. Na początek wpisz swoje imię.<br><br>';
  35. echo '<form action="1.php" method="post">
  36. Twoje imię:<input type="text" name="imie" />
  37. <input type="submit" />
  38. </form>';
  39. }
  40. ?>
  41.  
  42. </body>
  43. </html>
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: 28.09.2025 - 02:46