Сессия не работает между страницами - PullRequest
1 голос
/ 14 января 2012

У меня есть эта проблема.Сессия не работает, когда я использую с $ _POST.Если я добавлю 63 вручную, это будет работать на разных страницах.Я могу видеть вывод 63.

$_SESSION['name'] = 63;
echo $_SESSION['name'] ;


, но это ниже не будет работать, когда я переключаюсь между страницами.Вывод $ row ['id'] также равен 63.

$cari = "SELECT  id FROM dns_soa WHERE `origin` = '".$_POST['origin']."'";
$keputusan = mysql_query($cari);

$row = mysql_fetch_array($keputusan);   

$_SESSION['name'] = $row['id'];
echo $_SESSION['name'] ;


Когда я перехожу на 2-е страницы, я вижу результат, но когда я возвращаюсь на 1-е страницы, выход пропадает.Есть идеи?

Ответы [ 2 ]

1 голос
/ 14 января 2012

Когда вы возвращаетесь на страницу, где вы использовали $_POST, $_POST становится пустым, если ваш браузер не публикует его снова.Таким образом, SQL-запрос не возвращает результата.Следовательно, $_SESSION['name'] становится пустым.

Также убедитесь, что вы вызывали session_start на каждой странице перед использованием $_SESSION

1 голос
/ 14 января 2012

Потому что, когда вы вернетесь, он снова установит переменную сеанса, так как на этот раз у вас нет переменной $ _POST [origin], которая приводит к $ row ['id'] = "", и переменная сеанса также NULL ...

Что вы должны сделать, это ..

$cari = "SELECT  id FROM dns_soa WHERE `origin` = '".$_POST['origin']."'";
$keputusan = mysql_query($cari);

$row = mysql_fetch_array($keputusan);   

if(!isset($_SESSION['name']))
    $_SESSION['name'] = $row['id'];

echo $_SESSION['name'] ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...