Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz i zapamiętywanie wpisanych danych
Forum PHP.pl > Forum > Przedszkole
MONII28
Witam

Jestem początkująca w php więc proszę o wyrozumiałość.
Mam stronę z formularzem i wszystko było ok dopóki nie wprowadziłam blokowania dostępu na stronę .
  1. <?
  2. if (isset($_SESSION['logged']) && $_SESSION['logged'] == 1) {
  3. }else {
  4. $redirect = $_SERVER['PHP_SELF'];
  5. header("Refresh: 5; URL=login.php?redirect=$redirect");
  6. echo "Zostaniesz przekierowany na stronę.<br>";
  7. die();
  8. }
  9. ?>

Po wprowadzeniu sesji dane wpisane w formularzu znikają po powrocie na stronę.
Może jestem w błędzie że to przez sesje.
erix
Cytat
Po wprowadzeniu sesji dane wpisane w formularzu znikają po powrocie na stronę.

Jak mają one zostać, skoro ich nigdzie nie zapisujesz? smile.gif
MONII28
Strona formularza:
  1. <?php
  2.  
  3. include_once('kto.inc.php');
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. ?>
  11. <html>
  12. <head>
  13.      <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  14.  
  15. </head>
  16. <body>
  17.  
  18.  
  19.        
  20. <form action="" method="POST">
  21.  
  22. <textarea "id="kon"  cols="15" rows="3" name="kon" value=""></textarea><br /><br />
  23.  
  24.  
  25. <textarea id="prze" cols="15" rows="3" name="prze" value=""></textarea><br /><br />
  26.  
  27. <textarea id="pla" cols="15" rows="3"name="pla" value=""></textarea><br /><br />
  28.  
  29.  
  30. <input type="submit" value="ok" />
  31. </form>
  32.  
  33. </body>
  34. </html>


Plik login.php:
  1. <?php
  2.  
  3. $_SESSION['logged'] = 0;
  4. if (isset($_POST['submit'])){
  5. if ($_POST['username'] == "" &&
  6. $_POST['password'] == ""){
  7. $_SESSION['logged'] = 1;
  8. header ("Refresh: 5; URL=\".....\"");
  9. echo "Zostaniesz przekierowany na strone.";
  10. }
  11. else
  12. if ($_POST['username'] == "" &&
  13. $_POST['password'] == ""){
  14. $_SESSION['logged'] = 1;
  15. header ("Refresh: 5; URL=\".....\"");
  16. echo "Zostaniesz przekierowany na strone.";
  17. }
  18.  
  19. else {
  20. ?>
  21. <html>
  22. <head>
  23.    
  24.  
  25. </head>
  26. <body>
  27. <p>
  28. Niepoprawna nazwa użytkownika lub hasło!<br><br>
  29. <form action="login.php" method="post">
  30. <input type="hidden" name="redirect"
  31. value="<?php echo $_POST['redirect']; ?>">
  32. Użytkownik: <input type="text" name="username"><br>
  33. Hasło: <input type="password" name="password"><br><br>
  34. <input type="submit" name="submit" value="Zaloguj">
  35. </form>
  36. </p>
  37. <?php
  38. }
  39. } else {
  40. ?>
  41. <html>
  42. <head>
  43.    
  44. </head>
  45. <body>
  46. <p>
  47. Zaloguj się.<br><br>
  48. <?
  49. if(isset($_GET['redirect'])) {
  50. $redirect = $_GET['redirect'];
  51. } else {
  52. $redirect = "index.php";
  53. }
  54. ?>
  55. <form action="login.php" method="post">
  56. <input type="hidden" name="redirect"
  57. value="<?php echo $_GET['redirect']; ?>">
  58. Użytkownik: <input type="text" name="username"><br>
  59. Hasło: <input type="password" name="password"><br><br>
  60. <input type="submit" name="submit" value="Zaloguj">
  61. </form>
  62. </p>
  63. <?php
  64. }
  65. ?>
  66. </body>
  67. </html>
erix
Kod
value=""

Masz swoją odpowiedź. winksmiley.jpg

Proponowałbym osobiście zrobić coś takiego - zapisz dane do sesji z wykorzystaniem tokenu (klucz w tablicy = token), dopisz go przy przekierowaniu, potem - po pomyślnym zalogowaniu - sprawdzaj, czy w adresie jest identyfikator żądania - jeśli tak -> wczytaj dane z sesji, a nie z $_POST.
MONII28
Dziękuje za pomoc.
Teraz zrozumiałam , zapamiętywanie danych w sesji nie jest takie trudne tylko ja sobie robiłam pod górkę, a problem nie był taki duży.
Wartość domyślna formularza:
  1. value="<?php if(isset($_SESSION['pla'])) echo $_SESSION['pla']; ?>

Po powrocie na stronę formularza są wpisane dane.
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.