私はキャンパス内の取引 Web サイトを持っています。サイトはログイン システムにセッションを使用しています。ログインシステムにクッキーを追加したかった。しかし、PHP Cookie を使用したことがないため、何らかの理由でシステムが動作しません。実際には(セッションを使用して)覚えていなくても、システムは正常に動作しますが、Cookieでは動作しません。
ここでインクリメントする前の私のクラス:
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 を処理しない理由がわかりましたか?