Сессия уничтожается при обновлении страницы в PHP

Я разрабатываю веб-приложение с использованием PHP, в котором пользователь должен сначала войти в систему и просмотреть его контент. Я использую сеансы PHP для поддержания состояния. Я столкнулся с следующими проблемами:

  1. Хотя я запустил сеанс на каждой странице и после того, как установлены соответствующие переменные сеанса, сеанс будет уничтожен каждый раз, когда страница обновляется или когда я просматриваю один и тот же URL-адрес на другой вкладке.
  2. Мне нужно, чтобы пользователь перенаправлялся на свою страницу контента, когда пользователь просматривал страницу входа, когда он уже вошел в систему.

Я действительно новичок в 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"; } ?> 

Спасибо.

Related of "Сессия уничтожается при обновлении страницы в PHP"

Наконец я нашел ответ, который на самом деле мой плохой. Я не упомянул последнюю часть файла index.php, поскольку я, хотя эта часть не имеет значения. В этой части у меня есть часть,

 <form action="<?php session_destroy(); ?>"> 

После комментирования вызова метода session_destroy () я мог бы решить мою проблему и сохранить сеанс.

Извините за неполный код.

попробуй это

 class Sessions{ public static function setSessionState($userdata){ if ( !isset($_SESSION['user']) ) { $_SESSION['user'] = $userdata; } } }