Codice:
CREATE TABLE sessioni (riferimento VARCHAR (20) NOT NULL AUTO_INCREMENT PRIMARY KEY, contenuto VARCHAR (255));
Nel login:
Codice PHP:
$durata_secondi = 1000000;
do //genero la stringa random che userò come riferimento tra cookie/database.
{
$stringa_random = get_stringa(20);//restituisce una stringa di n caratteri random
$q = sqlite_suery("SELECT * FROM sessioni WHERE riferimento='$stringa_random'");
}
while(sqlite_num_rows($q));
setCookie('nick', $stringa_random, time()+$durata_secondi); //setto il cookie
sqlite_query("INSERT INTO sessioni (riferimento, contenuto) values ('$stringa_random','$nick')"); //salvo nel db
Per controllare se è loggato:
Codice PHP:
if(isset($COOKIE['nick']))
{
$q = sqlite_query("SELECT * FROM sessioni WHERE riferimento='".$COOKIE['nick']."'");
if(!sqlite_num_rows($q))
setCookie('nick', $stringa_random, time() - 1234); //elimino il cookie
else
{
$riga = sqlite_fetch_array($q, SQLITE_ASSOC);
$nick = $riga['contenuto'];
}
}
else echo 'devi loggarti';
p.s: non sono script risolutivi; li ho fatti al volo con il solo scopo di far capire più o meno come funziona il ragionamento...
___
(dopo che hai capito il ragionamento)
nota: io ho salvato solo il nick; quindi dovresti fare una riga ogni dato che vuoi salvare. Invece, per "somigliare" alle sessioni, potresti salvare addirittura un array in formato json; quindi ti ritrovi un array proprio come $SESSION.
Dimenticavo: per il logout, è sufficiente una cosa come:
Codice:
DELETE FROM sessioni WHERE riferimento=$COOKIE['nick']
Ciao!