Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sesje
Forum PHP.pl > Forum > Przedszkole
Junior-
Jak w temacie. Problem z sesiami. A oto pliki:
who.php:
  1. <?php
  2. session_unset();
  3. ?>
  4. <head><title>Zaloguj się!</title></head>
  5. <style> body {background-color: #ffffd2} </style>
  6.  
  7. <?php include "pionaglowek.php"; ?>
  8. <table align='center' border='0' width="85%" height="90%">
  9. <tr><td border='2'align='center' valign='center'>
  10.  
  11. <form method="post" action="stronaglowna.php">
  12. <p> Login: <input type="text" name="user" > </p>
  13. <p> Hasło: <input type="password" name="pass"> </p>
  14. <input type="submit" name="Zaloguj" value="Zaloguj">
  15. </form>
  16.  
  17. <form method="post" action="formularz.php">
  18. <input type="submit" name="Rejestracja" value="Rejestracja">
  19. </form>
  20. </td></tr>
  21. </body>
  22. </html>

stronaglowna.php
  1. <?php
  2. session_start();
  3. $_SESSION['username'] = $_POST['user'];
  4. $_SESSION['userpass'] = $_POST['pass'];
  5. ob_start();
  6. ?>
  7. <title>Strona Główna</title>
  8.  
  9. <link rel="stylesheet" href=" style.css " type="text/css" />
  10.  
  11. </head>
  12. <style> body {background-color: #ffffd2} </style>
  13. <?php
  14. include "logdobazy.php";
  15. $del = mysql_query(" DELETE FROM temp_haslo ") or die (mysql_error());
  16. $insert=" INSERT INTO temp_haslo
  17. (
  18. temp_password
  19. )
  20. VALUES
  21. (
  22. PASSWORD ( '".$_SESSION['userpass']."' )
  23. )";
  24. $results = mysql_query($insert) or die (mysql_error());
  25.  
  26. if ($_SESSION['username'] !="" && $_SESSION['userpass'] !="")
  27. {
  28. $sql = " SELECT username, password FROM ludzie INNER JOIN temp_haslo ON ludzie.password = temp_haslo.temp_password" .
  29. " WHERE username = '" . $_SESSION['username'] . "' ; ";
  30. $result = mysql_query($sql) or die(mysql_error());
  31.  
  32. if (mysql_num_rows($result) == 0)
  33. { include "pionaglowek.php";
  34. ?>
  35. <table align='center' border='0' width="85%" height="90%">
  36. <tr><td border='2'align='center' valign='center'>
  37. <font color="#FF0000">Podałeś błędne dane. Spróbuj jeszcze raz.</font>
  38.  
  39. <form method="post" action="stronaglowna.php">
  40. <p> Login: <input type="text" name="user" > </p>
  41. <p> Hasło: <input type="password" name="pass"> </p>
  42. <input type="submit" name="Zaloguj" value="Zaloguj">
  43. </form>
  44.  
  45. <form method="post" action="formularz.php">
  46. <input type="submit" name="Rejestracja" value="Rejestracja">
  47. </form>
  48. </td></tr>
  49. </table>
  50. <?php
  51. }
  52. else
  53. {
  54. echo "Strona glowna";
  55. }
  56.  
  57. }
  58. else
  59. {echo "Nie podałeś wymaganych informacji";}
  60. ?>
  61. </body>
  62. </html>

Ze stronki who.php przesyłam login i hasło (metoda POST) i umieszczam je w zmiennych sesyjnych na stronce stronaglowna.php. Sprawdzam wpisane informacje z info z bazy danych i wszystko jest ok (wyswietla się komunikat "Strona glowna") Problem w tym, że po przeładowaniu strony głownej zmienne sesyjne znikają i pojawia się komunikat "Nie podales wymaganych informacji". Jakieś wskazówki?
wipo
A czy problem nie tkwi w session_unset();??
Junior-
Niestety nie. sad.gif Próbowałem zmienic na session_start() albo usunąć i nie działa.
wipo
Usuń w ogóle linie session_unset
Możesz też gdzieś na końcu napisać print_r($_SESSION) aby zobaczyć czy sesja jest trzymana czy nie
Junior-
Przy pierwszym wejściu na strone gówną wszystko jest ok:
Array ( [username] => kuku [userpass] => kuku ),
A później już nie sad.gif :
Array ( [username] => [userpass] => ).
wipo
Bo czyścisz tą zmienną. Poczytaj w manualu do czego służy session_unset
Junior-
Zmienna jest czyszczona w pliku who.php. Natomiast problem pojawia się w stronaglowna.php
wipo
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];

powyżej masz odpowiedź - no chyba że za każdym razem wysyłasz te dane
Junior-
To już wiem gdzie jest problem. już wszystko działa. Dzięki wielkie. smile.gif peace cool.gif
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.