Может ли кто-нибудь сказать мне, почему переменные $ _SESSION не переносятся на мою другую страницу PHP, вызываемую с помощью ajax.AJAX + PHP: тайм-аут сеанса
На всех страницах есть session_start();
Он работает на моей локальной машине, но когда я загрузить его на моем сервере, он не работает, и обновить его возвращает меня к экрану входа ...
EDIT:
переменные сессии сохраняются как только пользователь в
$_SESSION['user_id'] = $user_id;
$_SESSION['username'] = $user_email;
$_SESSION['name'] = $un;
$_SESSION['login_times'] = $login_time;
$_SESSION['profile_pic'] = $profile_pic;
И когда Ajax скрипт вызывает другой PHP:
session_start();
$user_id = $_GET['id'];
$newsfeed_id = $_GET['nf_id'];
$comment = $_GET['comment'];
$conn = mysql_connect('localhost', 'admin', 'root') or die(mysql_error());
mysql_select_db('main') or die(mysql_error());
// insert new comment
$query = "INSERT INTO newsfeed_comments ".
"VALUES ('', '{$_SESSION['user_id']}', '{$comment}', '{$newsfeed_id}')";
mysql_query($query) or die(mysql_error());
Но в тексте ответа ничего не возвращается, а значения $ _SESSION ['username'] были отменены, и я перенаправляюсь обратно к логину.
Кто-нибудь знает, в чем проблема?
Спасибо!
Что конкретно не переносится, некоторые данные сеанса или весь сеанс? Пожалуйста, будьте более конкретными. –
Вызывается 'session_start' в сценарии входа? Вы должны проследить, прошел ли идентификатор сеанса (попробуйте debug proxy Fiddler) –
да, это так. session_start(); находится поверх каждой страницы. Работа сессии повсюду, они только терпят неудачу, когда я вызываю запрос AJAX – Stephen