Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Formularz i zapamiętywanie wpisanych danych, Po wyslaniu formularz i powrocie na strone formularz jest pusty.
MONII28
post 20.12.2008, 19:29:07
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 10.01.2008
Skąd: małopolska

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


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.
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 19:57:14
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Po wprowadzeniu sesji dane wpisane w formularzu znikają po powrocie na stronę.

Jak mają one zostać, skoro ich nigdzie nie zapisujesz? smile.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MONII28
post 20.12.2008, 20:10:10
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 10.01.2008
Skąd: małopolska

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


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>


Ten post edytował MONII28 20.12.2008, 20:17:49
Go to the top of the page
+Quote Post
erix
post 20.12.2008, 20:11:56
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MONII28
post 20.12.2008, 22:20:57
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 10.01.2008
Skąd: małopolska

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


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.

Ten post edytował MONII28 20.12.2008, 22:29:24
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:55