Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesje php oop, ustawienie i sprawdzanie sesji
rahul
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Witam panowie.
chcialbym aby zawsze widna byla forma (classa) logowania na mej stronie( taka w prawym gornym rogu ktora sobie wisi) ktora nie dosc ze loguje uzytkownika to do tego rozpoczyna sesje jak wszystko jest ok. Problem w tym ze sesja jest zapisana w momencie kiedy uzytkownik sie zaloguje, a obiekt jest wywolywany za kazdym razem na stornie przy przeladowaniu, zatem nie zawsze zwraca $_SESSION. No dobra, ale po co ma zwracac za kazdym razem skoro raz juz zapisal dane do sesji. Tak to rozumuje, jednak kiedy strone przeladowuje, trzeba znow sie logowac aby sesja sie pojawila. Help ?!

Odrazu zaznacze ,ze reczkuje w php'e generalnie, a do tego zaciekawilo mnie OOP dlatego wiec prosze o odrobine litosci w krytykowaniu tego co napisalem:P
A napisalem taki oto poczatkowy kod:


$user = new User;
$session = $user -> login(@$_POST['user_name'] , @$_POST['user_password']);

if ( isset ( $session ) ) {

echo "SESJA"; }else{
echo "nie ma";
}



class User {
function login($user, $password) {
if ( isset ($user) && isset ($password) ) {

echo "login wywolany";
$user_id = $this -> checkLoginData($user, $password);
$_SESSION = $user_id;
return $_SESSION;
}else{
echo " login nie wywolany";
}
}

function checkLoginData($user,$password) {

// hardCoded validation ->
if ($user == "dupa" && $password == "dupa") {

return 2;

}elseif ($user == "admin" && $password =="admin" ) {

$this -> user_id == 1;
return 1;

}else {
echo "wrong passes";
die();
}


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


Możesz zrobić funkcję __construct, która przy wywołaniu zacznie dla ciebie session_start();

Widać, ze ejsteś początkujący, logujesz usera, do sesji zapisujesz najczęściej id (ip można ze względów bezpieczeństwa) i potem cały czas odczytujesz(możesz np. w funkcji odczytującej zawrzeć od razu sprawdzanie profilu usera w bazie)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 16:31