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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: как проверить существования сессии

Сообщения:  [1-10]   [11-12] 

 
 автор: Sergey89   (22.01.2007 в 20:29)   письмо автору
 
   для: Natusia   (22.01.2007 в 11:43)
 

Он и не должен менятся при обновлении. Меняется при открытии нового окна браузера. Если необходимо генерировать новый ИД каждый раз заного, то нужно перегрузить механизм обработки сессий.

   
 
 автор: Natusia   (22.01.2007 в 11:43)   письмо автору
 
   для: Sergey89   (17.01.2007 в 13:38)
 

немного продолжила эксперемент

<?php 
session_start
(); 

if (
session_id()) { 
    print 
'уже запущена session_id: ';
    print (
session_id());
}

session_destroy();
    print 
'<br><br>session_id: ';
    print (
session_id());
?>

Вроде все работает, сессия начата - выводит ID, сессия разрушена - не выводит...

только если перезагрузить страницу, session_id не изменяется. Получается можно бесконечно создавать одинаковые сессии? Как сделать чтобы прикаждом заходе на страницу генерился уникальный id?

пример тут http://koni.nov.ru/test/session_id.php

   
 
 автор: Sergey89   (17.01.2007 в 13:38)   письмо автору
 
   для: mishaMC   (17.01.2007 в 11:48)
 

Ты бы хоть прочитал, что делает данная функция ;-). Плюс к этому:
>> If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(),
>> session_is_registered() and session_unregister().

   
 
 автор: mishaMC   (17.01.2007 в 11:48)   письмо автору
 
   для: Alba   (15.01.2007 в 13:53)
 

Не нужно писать своих функций, когда есть существующие...


http://ru.php.net/manual/ru/function.session-is-registered.php

   
 
 автор: Alba   (15.01.2007 в 14:19)   письмо автору
 
   для: Sergey89   (15.01.2007 в 14:11)
 

>
<?php
>session_start();
>
>if (
session_id()) {
>    print 
'уже запущена';
>}
>
?>


Спасибо, то что нужно.

   
 
 автор: Sergey89   (15.01.2007 в 14:19)   письмо автору
 
   для: Alba   (15.01.2007 в 14:16)
 

Ошибочка. Так делать не надо!
<?php
if (!session_id()) {
    
session_start();
}
?>

т.к. session_id() нужно вызвать после сессии.

   
 
 автор: Alba   (15.01.2007 в 14:16)   письмо автору
 
   для: mindless   (15.01.2007 в 14:02)
 

Спасибо, но мне нужно не это.
Нужно проверить вызывалась ли функция session_start().
Имеются подключаемые модули, подключается сразу несколько модулей, в разном порядке в зависимости от ситуации. В каждом из них нужно сделать проверку на запуск сессии, т.е. если в первом модуле сессия уже запущена, то в остальных уже не надо использовать session_start()...
На деюсь ясно изложил.

Тут идея пришла, если я буду проверять вот так:

if(!isset($_SESSION)){
    session_start();
}


нормально будет?
вроде работает, но правильно ли так проверять?

   
 
 автор: Sergey89   (15.01.2007 в 14:12)   письмо автору
 
   для: Киналь   (15.01.2007 в 14:10)
 

Ыыы... опередил мну =(

   
 
 автор: Sergey89   (15.01.2007 в 14:11)   письмо автору
 
   для: Alba   (15.01.2007 в 13:53)
 

<?php
session_start
();

if (
session_id()) {
    print 
'уже запущена';
}
?>

   
 
 автор: Киналь   (15.01.2007 в 14:10)   письмо автору
 
   для: mindless   (15.01.2007 в 14:02)
 

Думаю, правильнее будет проверить session_id().

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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