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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: сессии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
SAD
Отправлено: 07 Июня, 2009 - 01:41:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




баловался с сессиями и кое что смущает.

я захожу на страницу входа,прописывая адрес--создается сессия пустая(название sess_697157ee207288813d57a8fd065a81cd), потом перехожу на страницу "восстановить пароль", ввожу данные , нажимаю отправить--записываю в сессию данные(чтобы их можно было использовать),перенаправление на страницу входа , на почту приходит ссылка куда перейти и поменять пароль, жму на ссылку и у меня создается другая пустая сессия( название sess_9dd044913d060f3a595b43a43a9ca35d) . мне для того чтобы показать страницу с "изменением пароля" нужны данные с первой сессии, а данные считываются со второй сессии (она пустая) и страница не отображается.

я пробовал такую вещь, заходил на страницу входа,прописывая адрес, убивал сессию(название сессии снова sess_697157ee207288813d57a8fd065a81cd),переходил на страницу "восстановить пароль"--создалась сессия(sess_9dd044913d060f3a595b43a43a9ca35d, название опять повторяется) ,потом проделывал действия выше, и вторая сессия не создавалась, а данные считывались с данной сессии

или заходил на страницу входа,прописывая адрес , убивал сессию (sess_697157ee207288813d57a8fd065a81cd) ,обновлял страницу входа , создалась сессия (опять sess_9dd044913d060f3a595b43a43a9ca35d), делаю те же действия, сессия вторая не создвалась,
и все опять норм работает

в чем причина этого?

(Отредактировано автором: 07 Июня, 2009 - 02:34:36)

 
 Top
vitaliy_mad
Отправлено: 07 Июня, 2009 - 02:08:55
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




много букв... код в студию....
 
 Top
SAD
Отправлено: 07 Июня, 2009 - 02:28:25
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




vitaliy_mad пишет:
много букв... код в студию....


мне для этого придется выложить 3 файла больших , те страницы разные, разные файлы

в странице "входа" сессия создается, в странице "восстановить пароль" сессия создается и в странице "изменить пароль" сессия создается, все что такого главного по сессиям

(Отредактировано автором: 07 Июня, 2009 - 02:33:11)

 
 Top
vitaliy_mad
Отправлено: 07 Июня, 2009 - 02:36:45
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




каком образом происходит запись и чтение сессии?

они вообще запысываються? как проверял?
 
 Top
SAD
Отправлено: 07 Июня, 2009 - 02:41:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




vitaliy_mad пишет:
каком образом происходит запись и чтение сессии?

они вообще запысываються? как проверял?


у мну денвер стоит, в папке tmp они создаются , я открываю файлы и смотрю содержимое, отслеживаю когда создаются и запись в них происходит

записал переменные в сессионную переменную, перешел на другую страницу--в сессию происходит запись . пустая сессия я написал когда создается

чтение происходит при обращении к переменным сессии, чтобы можно было прочитать , стартую сессию в начале каждого файла *.php

(Отредактировано автором: 07 Июня, 2009 - 02:42:35)

 
 Top
vitaliy_mad
Отправлено: 07 Июня, 2009 - 03:40:58
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




в общем... иливыкладыва куски кода отвечающие за сессии или тебе никто не поможет... телепатов здесь нет...
 
 Top
SAD
Отправлено: 07 Июня, 2009 - 03:55:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




страница входа

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. session_start();
  4.  
  5. include("config.php");
  6. if(isset($_GET['exit']))
  7. {
  8.   $_SESSION = Array();
  9.   session_destroy();
  10. }
  11.  
  12. if(md5(crypt($_SESSION['user'],$_SESSION['password'])) != $_SESSION['SID']) {
  13.                                                                             //Если кнопка не нажата, отображаем форму
  14.                                                                             if(!$_POST['do']){
  15. ?>

дальше ничего интересного

страница "забыли пароль"

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. session_start();
  3. @include("config.php");
  4. @include("functions.php");

и присваивание переменных
CODE (text):
скопировать код в буфер обмена
  1. $id=md5(date("U")+rand(1,100));
  2.           $_SESSION['id']=$id;
  3.           $_SESSION['pz']=$nick;

страница где вводится новый пароль

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. session_start();
  3. @include("config.php");
  4. if($_SESSION['id']==$_GET['id'] AND !empty($_SESSION['id'])) {

....
и
CODE (text):
скопировать код в буфер обмена
  1. else {?><meta http-equiv='refresh' content='3; url=index.php'><center><H4>Нет доступа.</H4></center><?}
 
 Top
Гость
Отправлено: 07 Июня, 2009 - 10:56:56
Post Id


УДАЛЁН










А разве session_destroy() сразу уничтожает сессию? Может добавить exit() в это условие
 
 Top
SAD
Отправлено: 07 Июня, 2009 - 11:53:27
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




JustUserR пишет:
А разве session_destroy() сразу уничтожает сессию? Может добавить exit() в это условие


мне так валенок написал, да это тут не причем, кстати уничтожает сразу

(Отредактировано автором: 07 Июня, 2009 - 12:08:45)

 
 Top
SAD
Отправлено: 07 Июня, 2009 - 18:31:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




мну кто нибудь поможет?
 
 Top
Гость
Отправлено: 07 Июня, 2009 - 23:32:37
Post Id


УДАЛЁН










Эээ была уже похожая тема когда на самом деле сессия гнорировалась и создавалась новая (Дело в том что cookie не сохраняются солжным образом)
Просто есть условная и фактическая (Реальная) установка cookie Условная происходит когда задается команда setcookie (Ну или соответственно сессия инициализируется через cookie) а фактическая происходит уже когда бразуер захочет (В пределах разумного конечно)
Особенно проблема возникает при использовнаии IFrame потому что cookie фактически не устанавливаются пока не перегрузится главная страница (Содежращая сий фрейм)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB