Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie oparte na sesjach.pamietanie hasla i loginu w sesj
Forum PHP.pl > Forum > Gotowe rozwiązania
Mati
Probuje sobie zrobic logowanie oparte na sesjach. Niby sie loguje ijest ok, ale jak klikam na link, to juz mi nie pamieta wartosci w sesjach, i pokazuje formularz logowania:( Moze WY cos poradzicie?

Tu macie kod:

[php:1:f3a615b27a]<?php
<?


if((($logg=='mati')&&($pass=='asdf'))||(($HTTP_SESSION_VARS['logg']=='mati')&&($HTTP_SESSION_VARS['pass']=='asdf'))){
session_start();
$HTTP_SESSION_VARS['logg'] = $logg;
$HTTP_SESSION_VARS['pass'] = $pass;
print "Zalogowany";
print "<a href=session.php?dzial=1>1</a><br>";
print "<a href=session.php?dzial=2>2</a><br>";
print "<a href=session.php?dzial=3>3</a><br>";

if($dzial=='1'){
print "jeden!";
}

if($dzial=='2'){
print "dwa!";
}

if($dzial=='3'){
print "trzy!";
}

}
else
{
print "<form action=session.php method=post><input type=text name=logg><input type=password name=pass><input type=submit value=Send></form>";
}
?>
?>[/php:1:f3a615b27a]
?>[/php]
Bielo
Chyba powinieneś ustawić w php.ini:

session.use_trans_sid = 1
Mati
Mam tak ustawione od poczatku
delorian
Zanim wykorzystasz zmienne sesji trzeba ją chyba uruchomić, prawda, więc session_start(); na samym początku być musi.
Mati
a nie jest?questionmark.gif Przeciez sesja ma zostac wlaczona dopiero jak z formularza sie zalogujemy zwyklym loginem i haslem, a nie tym z z sejsji i od razu za ta linia jest session_start
delorian
No jak, przecież za drugim razem jak wchodzisz na stronę to sprawdza Ci zmienne sesji, która jeszcze nie jest włączona. Zmiennych formularza nie ma więc też są nie dostępne. Stąd warunek if jest nie prawdziwy i zgłasza Ci się formularz logowania. Protokół HTTP jest bezstanowy, więc sesja musi być wznawaina za każdym razem.
Mati
Dzieki pomogło!
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-2024 Invision Power Services, Inc.