У меня есть 3 .php файлы:переменная сеанса теряется между страницами
index.php
<?php
session_start();
if (isset($_SESSION['comp_id']))
{
require_once 'scan_albums.php';
}
else
{
require_once 'login.php';
}
echo "SESSION['comp_id']=" .$_SESSION['comp_id'];
?>
scan_ablums.php
<?php
session_start();
if (!isset($_SESSION["comp_id"]))
{
header('Location: index.php');
}
//...
?>
login.php
<?php
session_start();
if (isset($_SESSION['comp_id']))
{
header('Location: index.php');
}
$_SESSION['comp_id'] = 3;
?>
I invoke login.php через ajax:
$.ajax(
{
type: 'POST',
url: 'login.php',
data: {'login': login, 'password': hpass},
success: function(data)
{
console.log("ajax: [comp_id]=" + data + "\n");
window.location = "index.php";
}
});
После перенаправления на мой index.php $ _SESSION ['comp_id'] пуст. Что я здесь делаю неправильно? Спасибо заранее.
EDIT: Забыл упомянуть, что эти страницы находятся в приложении iframe в социальной сети. Может быть, это проблема?
EDIT: проблема, безусловно, в iframe. Сессии прекрасны на моей локальной машине. Есть идеи, как это исправить?
Да, я сделал это. Все, что я получаю, это предупреждения о том, что сеанс уже запущен. Переменная все еще пуста. –
'login.php' и' scan_albums.php' не имеют 'session_start()' – Mike
@Mike избили меня на ~ 12 секунд! – Haroon