Я работал над сессиями, которые должны работать в течение 24/7, которые не выходят из системы, пока пользователь не выйдет из системы точно так же, как «Facebook». Я пытался написать код, но он не сработал, поэтому я нашел его и, к сожалению, не нашел никакого рабочего решения. Итак, я пришел. Сначала я пробовал только сеансы, но они не работали, поэтому я использовал сеансы с файлами cookie, срок действия которых истекает через 10 лет, но все же он не работает. Мой код
index.php
include_once('includes/open-pdo.php');
include_once 'model.php';
if(!empty($_SESSION["is_logged_in"])) {
header('Location: dashboard.php');exit;
}
if(!empty($_COOKIE["member_login"])) {
$username = trim($_COOKIE["member_login"]);
$password = trim($_COOKIE["member_password"]);
$valid_user_details = check_user_login($username, $password);
if(count($valid_user_details)>0 && $valid_user_details['user_id'] > 0){
$_SESSION['ses_user_id'] = $valid_user_details['user_id'];
$_SESSION['ses_username'] = $valid_user_details['user_name'];
$_SESSION['ses_user_email'] = $valid_user_details['user_email'];
header('Location: dashboard.php');exit;
}else{
header('location: index.php?action=logout');exit;
}
}
if(!empty($_POST['submit'])){
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$valid_user_details = check_user_login($username, $password);
if(count($valid_user_details)>0 && $valid_user_details['user_id'] > 0)
{
$_SESSION['ses_user_id'] = $valid_user_details['user_id'];
$_SESSION['ses_username'] = $valid_user_details['user_name'];
$_SESSION['ses_user_email'] = $valid_user_details['user_email'];
$_SESSION['is_logged_in'] = true;
/* Store COOKIES of duration for 10 years expiry */
setcookie ("member_login",$_POST["username"],time()+ (10 * 365 * 24 * 60 * 60));
setcookie ("member_password",$_POST["password"],time()+ (10 * 365 * 24 * 60 * 60));
header('Location: dashboard.php');exit;
}else{
header('location: index.php?action=logout');exit;
}
}
<body>
<form class="form-signin" action="" method="post">
<input type="text" class="form-control" name="username" placeholder="Email Address" required="" autofocus="" />
<input type="password" class="form-control" name="password" placeholder="Password" required=""/>
<button class="btn btn-lg btn-primary btn-block" type="submit" name="submit" value="submit">Login</button>
</form>
</body>
dashboard.php
if(empty($_COOKIE["member_login"]) || empty($_SESSION["is_logged_in"])) {
header('location: index.php?action=logout');exit;
}
echo '<div style="text-align:center;"><h3>Welcome to Dashboard - <b>'.$_SESSION['ses_username'].'</b></h3>';
echo '<span style="font-size:20px;"><a href="logout.php">logout</a></span> </div>';
Кто-нибудь, пожалуйста, помогите мне в этом. Спасибо.