ну давай допустим рассмотрим такую ситуацию волшебную, когда некий мощный волшебник похожий на гаррипоттера решил подменить айди и прикинуться гермионой, а тут раз и логин с паролем. Для того, чтобы подменить часть данных сессии, нужно получить доступ на запись в сессию. Если кто-то сможет это сделать, то это капец катастрофа и всё накрылось медным тазом. И никакие твои шаманства не спасут в данном случае, а возможно и сделают хуже, потому что злоумышленик напиздит ещё и ворох чужих паролей, которые как обычно подходят и для их почтовых ящиков. Так что если ты такой сценарий допускаешь, то можешь на логин с паролем забить и пойти пересматривать свой сценарий =) Потому что этого допускать нельзя. ключ и значение в сессии он удаляет, да. Сессию как таковую не разрушает. Для этого есть специальная функция session_destroy(). Важно называть вещи своими именами. Это важно не только в программировании. если тебе надо прервать к фигам всё выполнение всего скрипта, то да. Но зачем? И если ты хочешь сделать редирект, то лучше пользоваться заголовком header("Location: http://example.com/myOtherPage.php"); но всё равно лучше не рвать ничего, а проектировать свой скрипт так, чтобы его не надо было прерывать.
Хорошо тогда каким образом ты предлагаешь защитить страницу от прямого обращения извне? Например http://blabla.bla/mail.php
ну вот допустим вот так, что я в конфиге сервера принудительно все запросы направляю на index.php такой вот я хитрован.
она обязательно должна быть. Но проверка на авторизованность пользователя никак не связана с тем, что все запросы должны идти на один index.php.
Все запросы внутри сайта и так идут на index этот идет на login вне сайта. Короче авторизировался хуячим через index. Не авторизировался ? нафиг с index. пиздуй на login.php
зачем? =) не, ну хозяин барин, но смысла в этом нет. Не авторизовался - смотри login.php, а не пиздуй на login.php а что за движок сайта?
ты предлагаешь перекинуть в index.php а в него уже интегрировать login.php? Код (Text): <? if(!isset($_SESSION['id'])){ include("login.php") } ?> Но мне необходимо чтобы чтобы пользователю отображалась только форма авторизации и ни кокой информации с самого сайта.
Ну он у меня впринципе так и живет. Все на сайте выведено через index.php?page=blablabla только вот авторизация и проверка отдельно
Хм... Интересно а поподробнее с этого момента можно --- Добавлено --- Если я понимаю правильно, то Вместо $_GET['page'] использовать $_SERVER['REQUEST_URI'] и из него уже вытаскивать значение переменной page ?
Спасибо сейчас попробуй что из этого получится. А еще что нить подсказать можешь пользительного? А как саму переменную вытащить с него?
Не надо вытаскивать, урл и есть $_SERVER['REQUEST_URI']. Используй parse_url() функцию учи английский, а то даже значиение названия переменной от тебя ускользает. Они ж не просто так называются.
А че не так с английским? --- Добавлено --- Чет я понять не могу. мне вытащить значение переменной page? сделал вот так: Код (Text): $page = $_SERVER['REQUEST_URI']; $page = parse_url('page'); var_dump($page); Выводит: array (1){["path"]=>string(4) "page"} Как теперь switch организовать не догоню никак
=) чета тебя заглючило var_dump( $_SERVER['REQUEST_URI'] ); var_dump( parse_url( $_SERVER['REQUEST_URI'] ) ); во!
Меня еще и не так накрыть может ))) Ну вот туплю жестко. Мне желательно 1 раз носом ткнуть как правильно зато на всегда запомнится. Вывел он мне string(20)"/main.php?page=glav array(2){["path"]=>string(9)"/main.php"["query"]=>string(10)"page=51840"} Что теперь и как с этим делать?
тебе надо не "/main.php?page=glav" запрашивать, а просто /glav но роутить запросы на главную точку входа, где ты и будешь потрошить реквест_ури