Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Niezalogowana sesja
Forum PHP.pl > Forum > Przedszkole
Dominator
Witam

Gdy użytkownik się zaloguje poprawnie to ma sesję 1 ($_SESSION["logged"] == 1). Otóż użytkownik zalogował się i dałem mu tą sesję 1 i gdy sprawdzam czy użytkownik ma sesję 1 to wskazuje, że jest niezalogowany - czemu ?

  1. // zmienne, zapytania itp.
  2.  
  3. if($_GET["akcja"] == "logowanie")
  4. {
  5. echo <<<LOG
  6. <form action="index.php?akcja=logowanie&ajax=2" method="POST">
  7. Login:<input type="text" name="login"><br>
  8. Haslo:<input type="text" name="haslo"><br>
  9. Captcha:<img src="captcha.php"><br><input type="text" name="captcha"><br>
  10. <input type="submit">
  11. </form>
  12. LOG;
  13. }
  14. if($_GET["ajax"] == "2")
  15. {
  16. if(strlen($login) < 5 || strlen($login) > 32)
  17. {
  18. echo "Login musi zawierać od 5 do 32 znaków";
  19. $blad++;
  20. }
  21. if(strlen($haslo) < 6 or strlen($haslo) > 32)
  22. {
  23. echo "Haslo musi zawierac od 6 do 32 znakow";
  24. $blad++;
  25. }
  26. if(preg_match('/[^A-Za-z0-9_-]/', $login))
  27. {
  28. echo "Login zawiera niedozwolone znaki";
  29. $blad++;
  30. }
  31. if (!empty($_REQUEST['captcha']))
  32. {
  33. if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) != $_SESSION['captcha'])
  34. {
  35. echo "Nieprawidlowy kod z obrazka";
  36. $blad++;
  37. }
  38. }
  39. unset($_SESSION['captcha']);
  40. if($blad == 0)
  41. {
  42. if($logi['login'] == $login && $logi['haslo'] == $haslo)
  43. {
  44. if($logi['potwierdzenie'] == 1)
  45. {
  46. $_SESSION["logged"] == 1;
  47. $_SESSION["user"] == $login;
  48. echo "Jestes zalogowany";
  49. }
  50. else
  51. {
  52. echo "Twoje konto wymaga potwierdzenia";
  53. }
  54. }
  55. else
  56. {
  57. echo "Niewlasciwe dane";
  58. }
  59. }
  60. }
  61.  
  62. if($_GET["akcja"] == "home")
  63. {
  64. if($_SESSION["logged"] == 1)
  65. {
  66. echo $_SESSION["user"];
  67. }
  68. else
  69. {
  70. echo "Niezalogowany";
  71. }
  72. }
Pacio
  1. $_SESSION["logged"] == 1;
  2. $_SESSION["user"] == $login;

== != =
JustHuman4
Hmm ja u siebie mam najpierw po poprawnym uzupełnieniu formularza od logowania zmianę sesji na true

  1. $_SESSION['logged'] = true;



A potem gdzieś tam dopiero jest

  1. if($_SESSION['logged'])
  2. {
  3. echo 'Jestes zalogowany. Witaj '.$_SESSION['nick']';
  4. }
  5.  
  6. else
  7. {
  8. echo 'Nie jestes zalogowany.';
  9. }



Dominator
@Up

Dzięki. $_SESSION["logged"] = true; działa.

Jednakże nie wyświetla mi nazwy sesji.

Jest błąd !

Dałem session_destroy(); i session_unset(); i dalej pokazuje, że jestem zalogowany sad.gif Pomóżcie.
JustHuman4
Teraz to już w ogóle zwątpiłem wink.gif
Możesz jeszcze raz napisać do czego zmierzasz?
GoOx
Proszę.

plik wyloguj.php lub jak tam sobie chcesz
  1. <?php
  2. if (isset($_COOKIE[session_name()])) {
  3. setcookie(session_name(), '', time()-42000, '/');
  4. }
  5. header('Location: index.php');
  6. ?>
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.