Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z $_SESSION
Forum PHP.pl > Forum > PHP
lolarz
Witam

Mam problem dotyczący sesji. W php jestem troche zielony i nie wiem co mam zrobić. thumbsdownsmileyanim.gif

Problem dotyczy : <? print($_SESSION['login']); ?> (w pliku sklep.php). Gdy się zaloguję, przenosi mnie na strone sklep.php i tam gdzie jest <? print($_SESSION['login']); ?> zawsze pokazuje się liczba 1.

config.php - odpowiada za połączenie z mysql
login.php - logowanie
sklep.php - zawartość dostępna po zalogowaniu
------------------------------------------------------------------------------------------------------------------------------------------------------
config.php :

  1.  
  2.  
  3.  
  4. // nawiazujemy polaczenie
  5. $connection = @mysql_connect('host mysql', 'uzytkownik bazy danych', 'haslo do bazy')
  6. // w przypadku niepowodznie wyświetlamy komunikat
  7. or die('Brak polaczenia z serwerem MySQL.<br />Blad: '.mysql_error());
  8. // połączenie nawiązane ;-)
  9. echo "";
  10. // nawiązujemy połączenie z bazą danych
  11. $db = @mysql_select_db('nazwa bazy danych', $connection)
  12. // w przypadku niepowodzenia wyświetlamy komunikat
  13. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  14. // połączenie nawiązane ;-)
  15. echo "";

------------------------------------------------------------------------------------------------------------------------------------------------------
login.php :

  1. require_once("config.php");
  2. if(isset($_SESSION['login'])){
  3. header("Location: sklep.php");
  4. }
  5.  
  6. //Perform Form Submission Checks
  7.  
  8. $un = $_POST['username'];
  9. $p = $_POST['password'];
  10.  
  11.  
  12. {
  13. // @return true if password and nickname match
  14. function check_password_db($nickname,$password) {
  15.  
  16. $a=mysql_query("SELECT password FROM authme where username = '$nickname'");
  17. if(mysql_num_rows($a) == 1 ) {
  18. $password_info=mysql_fetch_array($a);
  19. $sha_info = explode("$",$password_info[0]);
  20. } else
  21. return false;
  22. if( $sha_info[1] === "SHA" ) {
  23. $salt = $sha_info[2];
  24. $sha256_password = hash('sha256', $password);
  25. $sha256_password .= $sha_info[2];;
  26. if( strcasecmp(trim($sha_info[3]),hash('sha256', $sha256_password) ) == 0 )
  27. return true;
  28. else return false;
  29. }
  30. }
  31.  
  32.  
  33. }
  34.  
  35. $return_var = check_password_db($un,$p);
  36.  
  37. if($return_var == true)
  38. {
  39. //User entered valid data
  40. $_SESSION['login'] = TRUE;
  41. echo "<a href=\"sklep.php\" id=\"log\"></a><script type=\"text/javascript\">window.location.href = document.getElementById(\"log\").href;</script>";
  42. }
  43. else
  44. {
  45. //User entered invalid data
  46. echo "";
  47. }

  1. <form method="post" action="">
  2. nick:<br>
  3. <input type="text" name="username" /><br>
  4. hasło:<br>
  5. <input type="password" name="password" /><br>
  6. <input class="submit" type="submit" value="Zaloguj" />

------------------------------------------------------------------------------------------------------------------------------------------------------
sklep.php :

  1. include("config.php");
  2. $login = $_SESSION['login'];
  3. if ((empty($login))) {
  4. echo '<a href="login.php" id="log"></a><script type="text/javascript">window.location.href = document.getElementById("log").href;</script>';
  5. }
  6. // tresc dla zalogowanego uzytkownika
  7. echo '';

  1. Witaj <font color="yellow"><? print($_SESSION['login']); ?></font>

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


pomoże ktośquestionmark.gif





pitu
W login.php zapisujesz do sesji wartość true
  1. $_SESSION['login'] = TRUE;


Zmień to na:
  1. $_SESSION['login'] = $un;
lolarz
oo rany dzięki! wszystko działa! biggrin.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.