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 :: Сессии и кукис совместимость с ИЕ 8

 PHP.SU

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


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

> Без описания
Kuroch
Отправлено: 31 Августа, 2010 - 16:04:48
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Авг. 2010  


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




Доброго времени суток всем!
Возникла такая проблема:
вобщем есть большой сайт и переменная в сессии $s_login
Благодаря которой осуществляется регистрация пользователя на сайте и его авторизация
сделано на сайте меню причем для $s_login!="" оно на некоторое количество пунктов больше.

Суть проблемы такова.. в интернет эксплорере (8) когда клиент регистрируется он попадает в этот "мэмберзон" (расширенное меню) но при переходе по ссылке на любую другую страницу его выкидывает на

If ($s_login=="") Header (Location: login.php )

тоесть зарегистрированная в сессии переменная $s_login превращается на какомто этапе в пустую строку... такое происходит только в ие в мозиле все работает корректно
 
 Top
Viper
Отправлено: 31 Августа, 2010 - 16:15:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Либо что-то в коде неверно, либо ИЁ в своем репертуаре(что врядли).


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 31 Августа, 2010 - 16:18:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Kuroch пишет:
Тоесть зарегистрированная в сессии переменная $s_login превращается на какомто этапе в пустую строку... такое происходит только в ие в мозиле все работает корректно
Вероятно причиной по которой происходит очистка значения сессионной переменной является неполная перезагрузка общей статической HTML-страницы после совершения авторизации - дело в том что при наличии frame-овых элементов или динамического взаиомдейтсвия с cookie с помощью JS-скрипта одинаковые значения могут на самом дле не обновиться к моментку отображения
Кроме того причиной проблемы может быть и очередная модификация вашего PHP-скрипта в которой происходит ошибочная очистка авторизации - а в некоторых браузеров сессия продолжает работать по причине усиленного кеширования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Kuroch
Отправлено: 31 Августа, 2010 - 16:25:11
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Авг. 2010  


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




Viper пишет:
Либо что-то в коде неверно, либо ИЁ в своем репертуаре(что врядли).


Подскажите пожалуйста в каком месте кода искать ошибку?
 
 Top
Viper
Отправлено: 31 Августа, 2010 - 16:34:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Kuroch обратите внимание что вам написал JustUserR. Проверьте свой код, все равно не увидев кода никто вам ничем не сможет помочь.

ПОльзуйте отладку. Понатыкайте print_r($_REQUEST); в тех страницах где предположительно она отваливается.

ЗЫ! На будущее я бы рекомендовал использовать БД для сессии. Надежнее чем куки.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Kuroch
Отправлено: 31 Августа, 2010 - 17:01:11
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Авг. 2010  


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




Добавил в конце следующий отладочный код:

print_r($_REQUEST);
echo "<BR>$s_login<BR>";
print_r($_SESSION);

выдает следующие результаты:

Array ( [__utma] => 62029247.613034268.1280129643.12 83253491.1283262405.17 [__utmz] => 62029247.1280129643.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) [__utmb] => 62029247.2.10.1283262405 [__utmc] => 62029247 [PHPSESSID] => gn43q7pfav0i4rag6snglsiqo6 )
92921804
Array ( [s_login] => 92921804 [s_photo] => [s_sql] => [s_orderby] => [s_page] => [s_page_count] => [s_inbox_sortby] => [s_inbox_orderby] => [s_outbox_sortby] => [s_outbox_orderby] => [s_girl_id] => [s_needparams] => 1 [s_refferer] => undefined;0 [s_statlite_firstvisit] => [s_statlite_starttime] => 1283262436 [s_statlite_rid] => 1 [s_lang] => eng )

и тут все нормально но когда идёт следующий переход по ссылке на другую страницу то эта переменная теряется (не передается следующему скрипту)

Может можно както её дополнительно передать?
передавать её в гете не вариант ибо любой пользователь сможет легко изменить строку запроса и полазить в чужом инбоксе....
 
 Top
JustUserR
Отправлено: 31 Августа, 2010 - 17:10:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Kuroch пишет:
Может можно както её дополнительно передать?
Для осуществления ручной передачи идентификатора сессии в некоторый PHP-скрипта можно использовать следующий метод - после инициализации сессии в результате некоторого пользовательского запроса вы получаете ее номер с помощью функции $my_id=session_id() - и в дальнейшем можете передавать его в специальном поле в GET/POST-запросах или сохранить в переменной JS-скрипта на клиентской стороне - таким образом когда от пользователя будет поступать очередной запрос к PHP-скрипту то он будет явно передавать идентификатор сессии - и на его основе может продолжить работы с сохраненными данными путем применения функции session_start($my_id) с указанием номера сессии в качестве аргумента


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Kuroch
Отправлено: 02 Сентября, 2010 - 09:46:53
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Авг. 2010  


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




Передал идентификатор сессии в $_GET
далее написал вот такой код:

if (isset($_GET['sess_id']) && $_GET['sess_id']!="" ){
$ses_id=$_GET['sess_id'];
session_start($ses_id);
}

но это не решило мою проблему стало только медленнее все работать
 
 Top
JustUserR
Отправлено: 02 Сентября, 2010 - 16:40:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Kuroch пишет:
Но это не решило мою проблему стало только медленнее все работать
При использовании передачи идентификатора сессии в ручном режиме желательно отключить автоматическую его отправку внутренними средствами - для избежания повторного открытия и перезаписи сессии - это осуществляется путем установки ложного значения в параметры use_cookies и use_trans_sid а также для автоматической инициализации сессии
Кроме того можно проверить правильно ли передается идентифкаор сессии от предыдущего PHP-скрипта - в случае если у вас имеется окно с фреймами то необходимо передавать этот идентификатор в URL-адреса для всех составляющих частей frameset-а


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Kuroch
Отправлено: 06 Сентября, 2010 - 17:05:01
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Авг. 2010  


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




На сайте возникает следующая ошибка
ERROR:setting the last user activity

Кто нибудь встречал такое? с чем это может быть связанно?

У клиента браузер ИЕ 8
 
 Top
JustUserR
Отправлено: 06 Сентября, 2010 - 17:42:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Kuroch пишет:
На сайте возникает следующая ошибка
ERROR:setting the last user activity
Приведенное вами описание ошибки не является обычным для HTTP-протокола или клиентской стороны - и скорее всего генерируется используемой вами системой управления web-сайтов при отсутствии текущей сессии - которое может быть связано с тем что значения cookie не были переданы правильным образом в требуемую секцию обработки запроса


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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