Jack_son_
asked on
remember me script
does anyone know how to do remember me only for the user name in the login? I know it uses the cookies, but I have not had any luck getting it working; this is a linux app.....
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Great post and explanation; the remember me function is line 57 to 123?
// DEFINE THE "REMEMBER ME" COOKIE FUNCTION
function remember_me($uuk)
{
// CONSTRUCT A "REMEMBER ME" COOKIE WITH THE UNIQUE USER KEY
$cookie_name = 'uuk';
$cookie_value = $uuk;
$cookie_expires = time() + date('Z') + REMEMBER;
$cookie_path = '/';
$cookie_domain = NULL;
$cookie_secure = FALSE;
$cookie_http = TRUE; // HIDE COOKIE FROM JAVASCRIPT (PHP 5.2+)
// SEE http://us3.php.net/manual/en/function.setcookie.php
setcookie
( $cookie_name
, $cookie_value
, $cookie_expires
, $cookie_path
, $cookie_domain
, $cookie_secure
, $cookie_http
)
;
}
// DETERMINE IF THE CLIENT IS ALREADY LOGGED IN BECAUSE OF THE SESSION ARRAY
if (!isset($_SESSION["uid"]))
{
// DETERMINE IF THE CLIENT IS ALREADY LOGGED IN BECAUSE OF "REMEMBER ME" FEATURE
if (isset($_COOKIE["uuk"]))
{
$uuk = mysql_real_escape_string($ _COOKIE["u uk"]);
$sql = "SELECT uid FROM EE_userTable WHERE uuk = '$uuk' LIMIT 1";
$res = mysql_query($sql);
// IF THE QUERY SUCCEEDED
if ($res)
{
// THERE SHOULD BE ONE ROW
$num = mysql_num_rows($res);
if ($num)
{
// RETRIEVE THE ROW FROM THE QUERY RESULTS SET
$row = mysql_fetch_assoc($res);
// STORE THE USER-ID IN THE SESSION ARRAY
$_SESSION["uid"] = $row["uid"];
// EXTEND THE "REMEMBER ME" COOKIE
remember_me($uuk);
}
}
}
}
// DEFINE THE "REMEMBER ME" COOKIE FUNCTION
function remember_me($uuk)
{
// CONSTRUCT A "REMEMBER ME" COOKIE WITH THE UNIQUE USER KEY
$cookie_name = 'uuk';
$cookie_value = $uuk;
$cookie_expires = time() + date('Z') + REMEMBER;
$cookie_path = '/';
$cookie_domain = NULL;
$cookie_secure = FALSE;
$cookie_http = TRUE; // HIDE COOKIE FROM JAVASCRIPT (PHP 5.2+)
// SEE http://us3.php.net/manual/en/function.setcookie.php
setcookie
( $cookie_name
, $cookie_value
, $cookie_expires
, $cookie_path
, $cookie_domain
, $cookie_secure
, $cookie_http
)
;
}
// DETERMINE IF THE CLIENT IS ALREADY LOGGED IN BECAUSE OF THE SESSION ARRAY
if (!isset($_SESSION["uid"]))
{
// DETERMINE IF THE CLIENT IS ALREADY LOGGED IN BECAUSE OF "REMEMBER ME" FEATURE
if (isset($_COOKIE["uuk"]))
{
$uuk = mysql_real_escape_string($
$sql = "SELECT uid FROM EE_userTable WHERE uuk = '$uuk' LIMIT 1";
$res = mysql_query($sql);
// IF THE QUERY SUCCEEDED
if ($res)
{
// THERE SHOULD BE ONE ROW
$num = mysql_num_rows($res);
if ($num)
{
// RETRIEVE THE ROW FROM THE QUERY RESULTS SET
$row = mysql_fetch_assoc($res);
// STORE THE USER-ID IN THE SESSION ARRAY
$_SESSION["uid"] = $row["uid"];
// EXTEND THE "REMEMBER ME" COOKIE
remember_me($uuk);
}
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
<?php
require_once 'masters/options.php';
require_once 'masters/auditing.php';
function getAuthenticationTable() {
return 'user_account';
}
function getSessionTable() {
return 'user_session';
}
function getSessionLength() {
return 15*60*1000; // 15 minutes
}
function getCookieSession() {
return new Zend_Session_Namespace('Ma
}