[Probleem] Keep me signed in on this computer unless i sign out
Ik wil gebuikers de mogelijkheid geven om ingelogd te blijven totdat ze handmatig uitloggen via de site.
Het inloggen gaat bij mij met sessies. dat werkt allemaal ok.
Ik had gedacht gebruik te maken van cookies om de gebruiker ingelogd te laten. (cookies met een hash van verschillende unieke waarden zoals timestamp, geheim woord enz enz).
Nu set hij de cookie wel, want ik echo de waarde direct na het setten, en dat lijkt ok te zijn...
MAAR.. nadat ik de gebruiker doorgestuurd heb naar de homepagina lijkt de inhoud weg te zijn van de cookie.. ik echo daar namelijk ook weer de inhoud van de cookie.. maar die is dan weer leeg :S
ik heb gekeken of ik overal start met session_start().. en dat is dus wél zo..
Waar kan dit nu aan liggen? en misschien nog beter.. is er met sessies een mogelijkheid om gebruikers ingelogd te laten? (evt. voor een bepaalde tijd) ??
Let wel, de pagina dient na het setten van het cookie ff gerefreshed te worden voordat PHP ermee aan de gang kan. Mss moet je je script eens geven zodat we meer weten :)
naja hier een stukje code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
// Alles is ok, Sessie aanmaken :)
$_SESSION['username'] = $username;
$_SESSION['ingelogd'] = "ok";
$_SESSION['uid'] = $getUserRow[0];
if (isset($_POST['stayLoggedIn']))
{
require 'config.inc.php';
$secretWord = $CONFIG['secretWord'];
$uid = $getUserRow[0];
$timestamp = date("d-m-Y-H-i-s");
$RPKey = md5(***********); /* hash/key komt in de cookie :) */
setcookie("uid", $getUserRow[0], time()+604800, '/', '*****.com', 1); /* uid (userid) verloopt in een week */
setcookie("TMKey", $timestamp, time()+604800, '/', '******.com', 1);
setcookie("RPKey", $RPKey, time()+604800, '/', '*****.com', 1); /* de o zo belangrijke hash voor het matchen en toegang verlenen */
echo "Cookies zijn geset: \n";
echo $_SESSION['username'] . " \n";
echo $_SESSION['ingelogd'] . " \n";
echo $_SESSION['uid'] . " \n";
}
?>
// Alles is ok, Sessie aanmaken :)
$_SESSION['username'] = $username;
$_SESSION['ingelogd'] = "ok";
$_SESSION['uid'] = $getUserRow[0];
if (isset($_POST['stayLoggedIn']))
{
require 'config.inc.php';
$secretWord = $CONFIG['secretWord'];
$uid = $getUserRow[0];
$timestamp = date("d-m-Y-H-i-s");
$RPKey = md5(***********); /* hash/key komt in de cookie :) */
setcookie("uid", $getUserRow[0], time()+604800, '/', '*****.com', 1); /* uid (userid) verloopt in een week */
setcookie("TMKey", $timestamp, time()+604800, '/', '******.com', 1);
setcookie("RPKey", $RPKey, time()+604800, '/', '*****.com', 1); /* de o zo belangrijke hash voor het matchen en toegang verlenen */
echo "Cookies zijn geset: \n";
echo $_SESSION['username'] . " \n";
echo $_SESSION['ingelogd'] . " \n";
echo $_SESSION['uid'] . " \n";
}
?>
heb domein maar ff vervangen door **** ;)
Edit:
het doorsturen gaat in mijn code dmv:
het doorsturen gaat in mijn code dmv:
Gewijzigd op 14/09/2004 15:08:00 door denver
Code (php)
dat redirect lijkt me niet zo'n probleem.. cookies geven geen foutmelding als ze worden geset?? en als je doet:
Doetie dan ook niks??
ok.. het werkt nu dus wel.. beetje raar maar waar :)
thnx voor de snelle reactie..
enne.. complimentjes voor de nieuwe site/layout !! toppie !
Gewijzigd op 14/09/2004 15:15:00 door denver
tnx ;)