Sì, scusami, è che c'è un tot di roba.
Allora il cookie viene settato in questa funzione chiamato all'atto del login. COOKIE_NAME è definita in un file incluso.
function auth_session_begin($user_id)
{
$session_id = auth_generate_sid();
$time = date("'Y-m-d H:i:s' ",time());
$data = date('d-m-Y');
$sql = "INSERT INTO sessions
(session_id, session_user_id, session_start)
VALUES ('$session_id', $user_id, $time)";
$result = mysql_query($sql);
setcookie(COOKIE_NAME, $session_id);
return true;
}
La funzione qui sotto è quella di autenticazione. Al terzo accesso alla pagina, quando si perde il COOCKIE, vengo rimandato alla pagina DENIED_PAGE2 che si scatena, appunto, qualora si perda il nome del COOKIE.
function auth_check_user()
{
global $_COOKIE;
if (isset($_COOKIE[COOKIE_NAME]))
{
$session_id = $_COOKIE[COOKIE_NAME];
$sql = "SELECT u.* etc etc";
$result = @mysql_query($sql);
if (!$result)
{
die('Si è verificato un errore nella verifica della sessione.');
}
if (mysql_num_rows($result) == 1) {
$user_info = mysql_fetch_array($result);
return $user_info;
}
else
{
header('Location: '. DENIED_PAGE);
exit;
}
}
else
{
header('Location: '. DENIED_PAGE2);
exit;
}
}
Il COOKIE_NAME è settato nel file common_utenti.php come vedete qui sotto e viene chiamata la funzione di cui sopra.
include('../common_utenti.php');
$user_data = auth_check_user();
extract($user_data);
Ometto il codice html che genera i <div> resi collassabili dal codice nel post precedente ma si tratta di html puro e semplice.
Grazie ancora!
Se qualcuno ha qualche idea, sono tutto orecchi.