Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не стабильная работа сессией
 
 автор: golovdinov   (22.02.2007 в 20:49)   письмо автору
 
 

К каждой странице подключаю файл, в котором прописано:

<?
if (!isset($_COOKIE['sesid'])) setcookie ("sesid"md5($ip time()));
if (!
session_is_registered ($_COOKIE['sesid'])) session_id ($_COOKIE['sesid']);
session_start ();
if (!isset(
$_SESSION['code'])) $_SESSION['code'] = mt_rand (0999);
print 
$_SESSION['code'];
?>


При переходе на разные страницы выдает разный код (иногда тот же). Что я неправильно сделал?

   
 
 автор: b00m   (22.02.2007 в 23:12)   письмо автору
 
   для: golovdinov   (22.02.2007 в 20:49)
 

А скрипт код вообще не должен выдавать? Тогда убери строку print $_SESSION['code'];

   
 
 автор: DEM   (22.02.2007 в 23:14)   письмо автору
 
   для: golovdinov   (22.02.2007 в 20:49)
 

теоретически ваш код вообще не должен работать... Вы запускаете сессию не в начале (а это часто приводит к ошибкам). Кстати, у вас session_id не может быть равен кукам, так как у вас когда вы устанавлаиваете значение этим сессиям еще не запущена сессия (запутано как-то сказал)... Порпобуйте просто:

<? 
session_start 
(); 
if (!isset(
$_COOKIE['sesid'])) setcookie ("sesid"md5($ip time())); 
if (!
session_is_registered ($_COOKIE['sesid'])) session_id ($_COOKIE['sesid']); 
if (!isset(
$_SESSION['code'])) $_SESSION['code'] = mt_rand (0999); 
print 
$_SESSION['code']; 
?> 

   
 
 автор: golovdinov   (23.02.2007 в 13:42)   письмо автору
 
   для: DEM   (22.02.2007 в 23:14)
 

Спасиба, вроде заработало )))
Еще вопрос, если на сайте несколько пользователей и убрать session_id (), то их данные в сессии не будут перекрещиваться?

   
 
 автор: cheops   (23.02.2007 в 19:36)   письмо автору
 
   для: golovdinov   (23.02.2007 в 13:42)
 

Нет, данные сессий разных пользователей никогда не пресекаются - для каждого свой уникальный набор.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования