0
使用Cookie我有一個在校園交易網站。該網站正在使用會話登錄系統。我想添加cookie到登錄系統。不過,由於我從來沒有使用過PHP cookies,出於某種原因系統無法正常工作。其實沒有記住(使用會話)系統工作正常,但它不適用於cookie。前的登錄PHP
這裏我班遞增:
class LoggedUser{
public static function GetUserId(){
return $_SESSION['LoggedUser']['Id'];
}
public static function GetUserEmail(){
return $_SESSION['LoggedUser']['Email'];
}
public static function LogInUser(
$user_id,
$user_email,
){
$_SESSION['LoggedUser'] = array();
$_SESSION['LoggedUser']['Id'] = $user_id;
$_SESSION['LoggedUser']['Email'] = $user_email;
}
public static function IsUserLogged(){
$result = false;
if(isset($_SESSION['LoggedUser']))
$result = true;
return $result;
}
public static function LogOutUser(){
unset($_SESSION['LoggedUser']);
}
}
遞增後:
class LoggedUser{
public static function GetUserId(){
if(isset($_COOKIE['LoggedUserId']))
return $_COOKIE['LoggedUserId'];
return $_SESSION['LoggedUser']['Id'];
}
public static function GetUserEmail(){
if(isset($_COOKIE['LoggedUserId']))
return $_COOKIE['LoggedUserEmail'];
return $_SESSION['LoggedUser']['Email'];
}
public static function LogInUser(
$user_id,
$user_email,
$remember
){
if($remember == true){
setcookie("LoggedUserId", $user_id, time()+60*60*24*30);
setcookie("LoggedUserEmail", $user_email, time()+60*60*24*30);
}
else{
$_SESSION['LoggedUser'] = array();
$_SESSION['LoggedUser']['Id'] = $user_id;
$_SESSION['LoggedUser']['Email'] = $user_email;
}
}
public static function IsUserLogged(){
$result = false;
if(isset($_COOKIE['LoggedUserId']))
$result = true;
if(isset($_SESSION['LoggedUser']))
$result = true;
return $result;
}
public static function LogOutUser(){
unset($_COOKIE['LoggedUserId']);
unset($_COOKIE['LoggedUserEmail']);
unset($_SESSION['LoggedUser']);
}
}
你有任何想法,爲什麼系統不使用cookie?
添加起始目錄爲什麼你會移動的登錄信息的cookie,而不是一個會議? – walther
長時間記住用戶。有沒有其他方法?還是你問不同的問題? –
登錄PHP文件是否在一個子目錄中?如果是這樣,在設置cookie的命令添加起始目錄('的setcookie( 「LoggedUserId」,$ USER_ID,時間()+ 60 * 60 * 24 * 30, 「/」);') – Robbie