Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сессии-сохранение
Форумы портала PHP.SU » PHP » Программирование на PHP » Сессии-сохранение

Страниц (1): [1]
 

1. Johnny - 07 Мая, 2010 - 18:05:46 - перейти к сообщению
В общем я делаю систему регистрации/логина для своего сайта,логин и регистрацию я всё сделал,но такой трабл,я авторизовываюсь(логинюсь) всё нормально выводит,то что надо,как только я перехожу на index.php или к примеру other.php и возращаюсь обратно на страницу где я залогинился мне пишет,что нужно опять логин делать,но ведь я уже логинился...


И так,что мы имеем: index.php,login.php,logged.php,stats.php во всех этих файлах прописано в начале session_start();

Что же делает каждый из этих файлов:login.php - ввод в специальные поля ника и пароля,logged.php открывает файл с именем(указанным в login.php) и вырывает от туда пароль и сверяет пароль с указанным на странице login.php,так же служит посредником в цепочке,тоесть если всё хорошо всё сходится ник и пароль то перекидывает на stats.php.


В чём проблема?:при заходе на logged.php задаются такие параметры $_SESSION['Login'] = true;
и дальше перекидывается на stats.php,но когда уже перекинуло на stats.php там идёт проверка if($_SESSION['Login'] == true) выполняем действие else вы не авторизовались,дело в том,что $_SESSION['Login'] не запоминает значение true(оно же 1).я делал дебаг тоесть print_r($_SESSION); в logged.php всё отображало нормально,тоесть значение присваевалось,принтил на stats.php там вообещ пишет Array ( ) и всё больше ничего...как решить эту проблему?
2. awiz - 07 Мая, 2010 - 18:17:15 - перейти к сообщению
браузер запоминает куку у Вас?
3. Johnny - 07 Мая, 2010 - 18:26:25 - перейти к сообщению
браузер всё запоминает,говарю же что в logged.php $_SESSION['login'] равна одному тоесть true(принт выводит),а в stats.php вообще ничего не выводит,выводит что пусто Array( )
4. awiz - 07 Мая, 2010 - 19:24:20 - перейти к сообщению
Johnny пишет:
говарю же что в logged.php $_SESSION['login'] равна одному тоесть true(принт выводит),а в stats.php вообще ничего не

это не означает, что браузер запомнил куку
выведите print_r($_COOKIE); если нет PHPSESSID, то не запомнилась кука
5. valenok - 08 Мая, 2010 - 15:05:35 - перейти к сообщению
И session_start() в самом верху ставить не забывайте, как я.
6. Prog - 08 Мая, 2010 - 15:14:18 - перейти к сообщению
Если хотите дам свой скрипт авторизации с установкой сессии .
7. JustUserR - 09 Мая, 2010 - 15:17:27 - перейти к сообщению
Johnny Похожая проблема бывает в том случае когда берется уже готовая система авторазиции и встраивается в свой сайт - и при этом идентификатор сессии передается неправильно и она сбивается Попробуйте в PHP-скрипте который проверяет правильность логина и пароля и потом делает перенаправление сразу указать номер сессии - то есть $sess=session_id() и добавить в строку запроса соответственно &PHPSESSID=$sess

 

Powered by ExBB FM 1.0 RC1