2012-11-04 70 views
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?

+1

添加起始目錄爲什麼你會移動的登錄信息的cookie,而不是一個會議? – walther

+0

長時間記住用戶。有沒有其他方法?還是你問不同的問題? –

+1

登錄PHP文件是否在一個子目錄中?如果是這樣,在設置cookie的命令添加起始目錄('的setcookie( 「LoggedUserId」,$ USER_ID,時間()+ 60 * 60 * 24 * 30, 「/」);') – Robbie

回答

1

是在子目錄中登錄的PHP文件?

如果是這樣,在設置cookie的命令

setcookie("LoggedUserId", $user_id, time()+60*60*24*30, "/");