PArt of my lgoin script after all login variables are checked:
PHP Code:
if ( !empty($_POST['cookiet']) ) {
cnum($_POST['cookiet']);
$cooktime = (3600 * $_POST['cookiet']);
} else {
$cooktime = 604800; //default one week
}
setcookie('rememberme_u', $result->fields['username'], time() + $cooktime);
setcookie('rememberme_p', $result->fields['password'], time() + $cooktime);
Note about above: cookiet is a user preference for how long someone should be remembered. Also for the sake of security the password that's set in rememberme_p cookie is md5() hashed. cnum() is my own function to check whether the parameter is a number and if not die with an error.
The code in the logout script:
PHP Code:
setcookie ('rememberme_u', '', time() - 99999999999);
setcookie ('rememberme_p', '', time() - 99999999999);
Now a part of the code that's included on all pages.
PHP Code:
if ( empty($_SESSION['username']) ) {
if ( !empty($_COOKIE['rememberme_u']) AND !empty($_COOKIE['rememberme_p']) ) {
//verify cookie details
if ( ($log_result->RecordCount() == 1) AND ($_COOKIE['rememberme_p'] == $log_result->fields['password']) ) {
$_SESSION['userid'] = $log_result->fields['userid'];
$_SESSION['username'] = $log_result->fields['username'];
$_SESSION['password'] = $log_result->fields['password'];
$_SESSION['email'] = $log_result->fields['email'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['agent'] = $_SERVER['HTTP_USER_AGENT'];
Header('Location: ' . $_SERVER['PHP_SELF']);
die();
} else {
setcookie ('rememberme_u', '', time() - 99999999999);
setcookie ('rememberme_p', '', time() - 99999999999);
}
}
}
ANother note that you should keep in mind that the above code has major chunks removed to show only relevant info.
Bookmarks