У меня есть сайт samplewebsite.com, а функция входа и сеанс работают нормально.PHP - сеанс недоступен на других страницах
Теперь я создаю новую страницу с участием сеанса, запущенного на странице входа в систему, которая находится на samplewebsite.com/sample.php. На данный момент файл содержит только следующий код.
session_start();
if(isset($_SESSION)){
print_r($_SESSION);
}
Это выводит пустой массив. Когда я проверяю инструменты разработчика Chrome, на вкладке «Куки» есть PHPSESSID, который, как я полагаю, означает, что сеанс действительно запущен.
Я ужасно расстроен, почему на моем сайте samplewebsite.com я вошел в систему, и сессия подобрана правильно, а на samplewebsite.com/sample.php Я не могу получить сеанс, в котором я нуждаюсь вообще.
Есть ли какая-то ошибка в конфигурации сеанса сервера? Что могло быть неправильным или каковы возможные причины этой проблемы?
EDIT:
Это фрагмент моего файла входа в систему.
include "db.php";
if (!isset($_SESSION)){session_start(); }
if (isset($_SESSION['admin'])){header("Location: /"); }
if(isset($_POST['submit'])){
$query = mysql_query("Select * from users where `username`='".mysql_real_escape_string($_POST['username'])."' and `password`='".md5(mysql_real_escape_string($_POST['password']))."'");
if(mysql_num_rows($query) > 0){
$row = mysql_fetch_assoc($query);
$_SESSION['admin'] = $row['ID'];
header("Location: /"); exit();
}
else{
echo "<script>alert('Account Invalid')</script>";
}
}
Сеанс инициализации, потому что, если не я перенаправлены на страницу входа в систему (из-за функции переадресации на index.php, где, если $ _SESSION [ «админ»] не установлен, перенаправлять для входа) , Это проверено вручную, удалив сеанс на инструменте hrome's, и обновление страницы приведет меня к странице входа.
Итак, я вошел в систему, и я вижу, что мой сеанс работает над samplewebsite.com, но на моей другой вкладке в samplewebsite.com/sample.php я не могу откликнуться на $ _SESSION ['admin'], когда я пытаюсь
echo $_SESSION['admin'];
Если вы не ставите что-либо внутри сеанса, оно будет пустым. –
Где вы устанавливаете переменные сеанса ??? –
включить error_reporting и display_errors, убедитесь, что выходной сигнал не был отправлен до вызова session_start() – donald123