Sono un pò arruginito e stamane ho riniziato ad esercitarmi per riprendere la mano e devo questo sistema login... Allora, ho questa porzione di codice:
Codice PHP:
function login($name, $pass)
{
global $config;
global $db;
$sql = 'SELECT user_id, user_name, user_pass, user_real_name
FROM ' . USERS_TABLE . '
WHERE user_name = \'' . $db->sql_escape($name) . '\'
AND user_pass = \'' . $db->sql_escape($pass) . '\'';
$result = $db->sql_query_limit($sql, 1);
if ($db->sql_affectedrows())
{
$row = $db->sql_fetchrow($result);
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['user_name'] = $row['user_name'];
$_SESSION['user_pass'] = $row['user_pass'];
$_SESSION['user_real_name'] = $row['user_real_name'];
$_SESSION['user_logged'] = true;
$expired = time() + 3153600;
$path = '/' . $config['script_path'] . '/';
setcookie('user_id', $row['user_id'], $expired, $path, $config['server_name'], false, true);
setcookie('user_name', $row['user_name'], $expired, $path, $config['server_name'], false, true);
setcookie('user_pass', $row['user_pass'], $expired, $path, $config['server_name'], false, true);
setcookie('user_real_name', $row['user_real_name'], $expired, $path, $config['server_name'], false, true);
setcookie('user_logged', true, $expired, $path, $config['server_name'], false, true);
return true;
}
return false;
}
I Cookie vengono scritti correttamente e la scadenza è esatta, però non riesco a capire come posso mantenere l'array $_SESSION valorizzato! Devo farlo utilizzando $_COOKIE?