Сессия уничтожается при обновлении страницы в PHP
Я занимаюсь разработкой веб-приложения с использованием PHP, в котором пользователь изначально должен войти в систему и просмотреть его содержимое. Я использую сеансы PHP для поддержания состояния. Я столкнулся со следующими проблемами:
Хотя я запускал сеанс на каждой странице и после установки соответствующих переменных сеанса, сеанс уничтожается при каждом обновлении страницы или при просмотре одного и того же URL-адреса на другой вкладке.Мне нужно, чтобы пользователь был перенаправлен на свою страницу контента, когда пользователь зашел на страницу входа, когда он уже вошел в систему.Я действительно новичок в PHP, поэтому я понятия не имею, как решить эти проблемы. Я упомянул несколько вопросов в stackoverflow, но все они говорят, что сессии не разрушаются при обновлении страницы. Я не мог понять, что случилось с моей страницей. Любое решение с объяснением очень ценится.
Страница авторизации
<?php
session_start();
class Sessions{
public static function setSessionState($userdata){
unset($userdata['password']);
unset($userdata['timestamp']);
$_SESSION['user']=$userdata;
}
}
if(isset($_POST['username']) && isset($_POST['password'])){
$dbcon = new DBConnection();
$dbcon->connect();
$username= strip_tags(stripslashes(trim($_POST['username'])));
$password = strip_tags(stripcslashes($_POST['password']));
echo "<script>alert($username);</script>";
$result = $dbcon->getUser($username,$password);
if(mysqli_num_rows($result)==1){
$user = $dbcon->getUserData($result); #getUserData function accepts mysqli result as an input and returns a row(array) of user details.
if(isset($user)){
Sessions::setSessionState($user);
header("location:index.php");
}
else{
echo "user variable is not set!!!";
}
}
else if(mysqli_num_rows($result)==0){
echo "Login error! Username or Password incorrect!";
}
else{
die("Unknown Error occured!");
}
}
............
Страница указателя (на которой виден личный контент пользователя)
<?php
session_start();
if(isset($_SESSION['user'])){
print_r($_SESSION['user']);
}
else{
echo "session variable not set";
}
?>
Спасибо.