Как узнать, что переменная пришла из именно из сессии?

vladax

Новичок
Как узнать, что переменная пришла из именно из сессии?

Можно проверить, что переменная не в get и не в post
if (!$_POST['var'] && !$_GET['var'] )
А как узнать, что переменная пришла из именно из сессии?
 

Апокалипсис

Guest
PHP:
if(isset($_SESSION['var']))
{
echo "$var из сессии";
}
 

vladax

Новичок
Тема такая: админ постит пароль... он попадает в сессию, а потом на каждой странице сайта значение переменной сессии проверяется... если всё чики поки, то выводим админскую страницу, если нет, то пользовательский вариант.

Вопрос такой: если сделать проверку (после поста) как Апокалипсис написал, то в результате выведится страница пользователя. Как быть так что ли:
if ((isset($_SESSION['var'])) && (isset($_POST['var'] ))) {
echo "$var из сессии";
}

Не уверен что это правильно. Подскажите как делать.
 

RomikChef

Guest
сессии тут не при чем.
Ты спросил, как проверить - тебе ответили.

Если утебя грузится не та страница, то это не сессии, а руки кривые.
 

Crazy

Developer
Автор оригинала: vladax
Нет не передается. Вдруг кто-то захочет передать...
Я плакал. "Вдруг кто-то захочет зайти на защищенную страницу -- пусть просто POST'ом передаст мне этот параметр".

Мечта кулхацкера...
 

vladax

Новичок
2 Crazy
Хватит понтоваться, не занимался я этим никогда. Если можешь объяснить, объясни.

if ($_SESSION['var'] &&
!$_COOKIE['var'] &&
!$_POST['var'] &&
!$_GET['var'] ) {

Так?
 

Alkinoy

Guest
Если переменная находится в глобальном массиве $_SESSION, значит она не была передана как то извне, а ты ее сам туда положил. И засунуть что то в этот массив извне низзя - для этого он и был создан!
if ($_SESSION['var'] ) и все, если есть - значит все окей!
 

vladax

Новичок
Так выходит, что и session_is_registered не нужно.
Просто
if ($_SESSION['var']==ok ) {ok}

Так?
 
Сверху