I have an in-campus trading web site. The site is using sessions for login system. I wanted to add cookies to login system. However, since I have never used php cookies, for some reason system does not work. Actually without remembering (with using sessions) system works fine but it does not work with cookies.
Here my class before incrementing:
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']);
}
}
After the incrementing:
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']);
}
}
Do you have any idea why system does not work with cookies?
Is the login PHP file in a sub-directory?
If so, add a starting directory in the set cookie command