Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesja wygasająca z każdym odświeżeniem strony
Forum PHP.pl > Forum > PHP
BORG
Tworze prosty system logowania oparty na sesjach. Na początku sprawdzam czy użytkownik jest zalogowany, jeśli nie wyświetla formularz:
  1. if($_SESSION['logged'] == 'ok'){
  2. echo 'Ok';
  3. }else{
  4. echo 'Hasło: <form action "index.php" METHOD=POST><input type="password" name="pass"><input type="SUBMIT" value="Ok"></form>';
  5. }


Jeśli w formularzu zostanie podane hasło, sprawdza je ze znajdującym się w bazie danych, jeśli są takie same przypisuje sesji wartość 'ok':
  1. if(isset($_POST['pass'])){
  2. $a = mysql_query("SELECT * FROM `pass`");
  3. if($_POST['pass'] == $a['pass'])
  4. $_SESSION['logged'] = 'ok';
  5. }


Wpisuję hasło, znika formularz, pojawia się napis "Ok". Wszystko świetnie, odświeżam stronę i znów wywala mnie do formularza. Czy coś jest nie tak z moim kodem? Czy może coś nie tak z ustawieniami php? Macie jakieś pomysły?
nospor
A sesje wogole startujesz? session_start()

ps: masz tylko jedno hasło w tabeli ze tak to odbierasz?
futura
Kod
$a = mysql_query("SELECT * FROM `pass`");

$a = mysql_fetch_array($a);


Nie wiem czy to jest akurat dobry sposób.

Jeśli korzystasz ze zmiennych sesyjnych, w tym przypadku $_SESSION['logged'], na początku pliku musisz dodać:

Kod
session_start();


Powinno pomóc.
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.