SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

То ли лыжи не едут... Вопрос знатокам php

excellent excellent  
176
  23.11.2012 00:16       1 284    
На самом деле тупой вопрос, но я не могу разобраться, хоть и делаю это уже в сто первый раз.
Вот такой элементарный кусок кода:
if(!isset($_SESSION['login'])) {
echo "вы не авторизованы";
exit; }
По-русски, если юзер не залогинен, то вывести надпись, иначе далее по коду. Независимо от того, под логином я или нет, меня на страницу не пускает. В чем прикол?

Ответы на пост (9) Написать ответ
minchanin minchanin
103
23.11.2012 00:20
вопрос какой?
0
excellent excellent
176
23.11.2012 00:21
почему так происходит? где моя ошибка?
0
sirshurf sirshurf
2
23.11.2012 00:25
exit();

Это функция а не слово... :)
1
excellent excellent
176
23.11.2012 00:27
Ну это да, протупил ) Но это не меняет дела
0
fidelcom fidelcom
2
23.11.2012 00:52
Это конструкция, а не функция. Так что подобное использование, как у автора темы, вполне допустимо.
0
VladimirVV VladimirVV
1
23.11.2012 00:43
Вы надеюсь понимаете что сессия и куки это разные вещи?
Сессия это идентификатор к сохраненным на сервере данным.
Может быть Вы логинитесь не сохраняя логин в сессию а только устанавливаете куки?
Тяжело что либо понять не видя всего кода.
1
excellent excellent
176
23.11.2012 00:52
Да, я в курсе. Весь код, к сожалению, тут скинуть не могу. Много его. Но проверю его еще раз, обратив на это внимание. Благодарю.
0
fidelcom fidelcom
2
23.11.2012 00:57
В первую очередь проверьте, стартует ли у вас вообще сессия?
Без session_start() дела не будет ;)

В самой простой версии это всё должно выглядеть так:

— Страница логина

session_start();

$_SESSION['login'] = 'my_login';
echo ('Данные о логине добавлены в сессию.');


— Страница, где проверяется авторизация

session_start();

$logged_in = (isset($_SESSION['login'])) ? 'Вы авторизованы' : 'Вы НЕ авторизованы';
echo($logged_in);
2
excellent excellent
176
23.11.2012 01:12
Всем спасибо, вопрос снят.
Причина всему - невнимательность. Сначала поставил проверку - залогинен или нет, а потом подключаю авторизацию... Протупил в общем. Благодарю неравнодушных.
0