Bovenaan elke pagina van een projectje van mij wordt deze functie aangeroepen:
Mocht de sessie ontbreken, maar de cookies staan nog wel op je systeem, zou het ding alsnog moeten inloggen met deze functie:
Bij login(); start ik de sessie bovenaan in het loginscript als je handmatig wil inloggen, en de session is al gestart door logincheck() als de login automatisch moet gebeuren.
Als ik naar de site toe ga met een nieuwe browsersessie, is mijn PHPSESSID cookie weg, en kijk ik naar een login scherm. Ik zou toch verwachten dat ik, omdat ik de username en password cookies heb staan, er een nieuwe sessie wordt gestart, ik gewoon wordt ingelogd, en geforward naar index.php...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| function logincheck() { session_start(); if(!isset($_SESSION['userid'])) { if(isset($_COOKIE['username']) && isset($_COOKIE['password'])) { $username = addslashes($_COOKIE['username']); $password = addslashes($_COOKIE['password']); login($username, $password); } else { header('Location: login.php'); } } } |
Mocht de sessie ontbreken, maar de cookies staan nog wel op je systeem, zou het ding alsnog moeten inloggen met deze functie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function login($nickname, $password) { global $db; if ($row = $db->query_first("SELECT * FROM `users` WHERE `nickname_user` = '{$nickname}' AND `password_user` = '{$password}' LIMIT 1")) { setcookie('nickname', $nickname, time() + 31536000); setcookie('password', $password, time() + 31536000); $_SESSION['userid'] = $row['id_user']; $_SESSION['template'] = $row['template_user']; header('Location: index.php'); } else { setcookie('nickname', $nickname, time() - 3600); setcookie('password', $password, time() - 3600); header('Location: login.php'); } } |
Bij login(); start ik de sessie bovenaan in het loginscript als je handmatig wil inloggen, en de session is al gestart door logincheck() als de login automatisch moet gebeuren.
Als ik naar de site toe ga met een nieuwe browsersessie, is mijn PHPSESSID cookie weg, en kijk ik naar een login scherm. Ik zou toch verwachten dat ik, omdat ik de username en password cookies heb staan, er een nieuwe sessie wordt gestart, ik gewoon wordt ingelogd, en geforward naar index.php...
[ Voor 27% gewijzigd door _eXistenZ_ op 24-05-2006 09:05 ]
There is no replacement for displacement!