PHP-ban az mennyire jó megoldás, ha úgy ellenőrzöm le, hogy valaki be van e jelentkezve, hogy bejelentkezéskor az SQL adatbázisba a neve mellé odaírom a sessionid-t és utána ha ottvan, akkor be van jelentkezve ha nincs akkor nem?
az oldal betöltésekor csinálok egy sütit neki, abba generálok egy random karaktersorozatot és mindezt insertelem a sessions táblába, amiben az egyik field user_id, ha belép akkor ezt updatelem a userid-ával
ha kilép nullára állítom, a sütit nem szoktam törölni
montihun technikailag ugyan azt csinálja meg, mint amit a session. :)
Csak adatbázisban tárolja és nem fájlban az adatokat. (Bár az adatbázis is fájl, de ebbe ne menjünk bele...)
Mind a 2 megoldás jó.
Ez a felhasználónál tárolod az ID-t is járható, de inkább a sessionba kéne tárolni, hogy belépett-e.
Teljesen mindegy, hogy ott van-e vagy sem.
Ha van egy lejárat, a következő oldal megnyitásakor is lehet érvényteleníteni.
A legjobb megoldás ilyen:
Először belép vki, elenőrzöd hogy helyesek-e az adatok pl:
session_name(web);
session_start();
$kod = "SELECT * FROM felhasznalok WHERE felhnev = '$kuldottfelh' AND jelszo = '$kuldottjelszo' ";
$futtatas = mysql_query($kod);
$eredmeny = mysql_num_rows($futtatas);
if($eredmeny==1) {
$_SESSION['felh'] = $kuldottfelh;
$_SESSION['jelszo'] = $kuldottjelszo;}
Ennyi , persze kell még a körítés hogy csak akkor ellenőrizzen ha van POST-olt adat stb, de ez 2 perc, azt meg hogy be van-e jelentkezve tudod a sessionnal ellenőrizni , a mysqles megoldás úgyis sokat terhelne minden egyes megnyitásnál
Nem kéne lekérdezgetni csak ennyi:
if(!$_SESSION['felh']) {
echo " Az oldal megtekintéséhez be kell jelentkezned! ";
exit; }
Nem bonyolult :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!