Переменная сеанса PHP не будет работать должным образом - PullRequest
0 голосов
/ 04 августа 2009

У меня есть оператор if / elseif, в который я передаю переменную GET. Оказавшись внутри блока Corrent, я могу повторить что-то, чтобы убедиться, что я нахожусь в нужном месте. Оказавшись там, я несколько раз пытался установить переменную сеанса, но она не работает должным образом. Я уверен, что я что-то не так делаю.

if(isset($_GET['mygetvar'])){
  $_SESSION['flag'] = 'on';
}else{
  $_SESSION['flag'] = 'off';
}

Когда я проверяю ссылку, чтобы перейти к первому блоку, я ожидаю увидеть флаг, но я ничего не получаю. Я уже начал сеанс в самом верху страницы. Все, что я хочу сделать, это использовать эту сессию как флаг. Если он включен, делай что-то еще, не делай этого. Я в основном хочу использовать это как переключатель.


EDIT: Вот актуальный код. Avove был примером. Если вы, ребята, должны найти синтаксическую ошибку в этом коде, то это действительно ошибка. Я так не думаю, потому что я могу просто повторить то, что внутри блоков кода.

if(isset($_GET['out']))
{
    $_SESSION['rim'] = 'on';
    echo 'out';
}
else
{
    $_SESSION['rim'] = 'off';
    echo 'in';
}

Хорошо, вот что происходит .... Когда я делаю print_r ($ _ SESSION); внутри блоков if / else, я вижу правильные результаты. Это нормально?

Ответы [ 3 ]

2 голосов
/ 04 августа 2009

Вы не забыли позвонить session_start() заранее?

1 голос
/ 04 августа 2009
if($_GET(['mygetvar']))

неверно ($ _GET - это не функция, а массив). Кроме того, вы, вероятно, хотите проверить, существует ли этот параметр запроса или нет, поэтому попробуйте

if(isset($_GET['mygetvar']))
0 голосов
/ 04 августа 2009

$ _ SESSION - это массив. Вы должны иметь

if($_GET['mygetvar']){

Обратите внимание на квадратную скобку около $ mygetvar

РЕДАКТИРОВАТЬ: И вы, вероятно, должны сделать

if(isset($_GET['mygetvar'])){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...