Questo invece è il codice che setta i cookie e la sessione
codice:
case 'Login':
// E' stata fatta una richiesta di accesso quindi controllo le credenziali
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$password = (isset($_POST['password'])) ? $_POST['password'] : '';
$sql = 'SELECT
user_id, password, access_level, last_name
FROM
all_users
WHERE
email = "' . mysql_real_escape_string($email, $db) . '" AND
password = PASSWORD("' . mysql_real_escape_string($password, $db) . '") AND
is_active = TRUE';
$result = mysql_query($sql, $db) or die(mysql_error($db));
if (mysql_num_rows($result) > 0) {
// dati corretti
// creo la sessione
$row = mysql_fetch_array($result);
extract($row);
$session_data = array(
'user_id' => $user_id,
'access_level' => $access_level,
'lifetime' => time()
);
$_SESSION = $session_data;
// controllo se si preferisce memorizzare le informazioni
if (isset($_POST['rememberme'])) {
// creo il cookie
$cookie_data = array(
md5($email),
md5($password)
);
$exp_date = time() + COOKIE_TTL;
setcookie('sito[0]', $cookie_data[0], $exp_date, COOKIE_DOMAIN);
setcookie('sito[1]', $cookie_data[1], $exp_date, COOKIE_DOMAIN);
}
$url = $_SERVER['HTTP_REFERER'];
} else {
// invalido i cookie
$exp_date = time() - COOKIE_TTL;
setcookie('sito[0]', null, $exp_date, COOKIE_DOMAIN);
setcookie('sito[1]', null, $exp_date, COOKIE_DOMAIN);
$url = '../error.php?from=home&errno=2';
}
mysql_free_result($result);
redirect($url);
break;