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

Форум PHP

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

 

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

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

тема: опять сессии

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

 
 автор: RV   (09.06.2005 в 17:37)   письмо автору
 
   для: Akira   (09.06.2005 в 17:00)
 

session_destroy() не убивает сид. линк в первый раз идет с сидом. а если обновить страницу, то уже без сида. а надо чтоб сразу шел без сида.

   
 
 автор: Akira   (09.06.2005 в 17:00)   письмо автору
 
   для: RV   (09.06.2005 в 16:40)
 

http://softtime.ru/forum/read.php?id_forum=1&id_theme=4520&page=1

   
 
 автор: RV   (09.06.2005 в 16:40)   письмо автору
 
   для: RV   (08.06.2005 в 09:09)
 

Ну дык как в линк сессию то убить??

   
 
 автор: RV   (08.06.2005 в 09:09)   письмо автору
 
   для: Akira   (07.06.2005 в 19:37)
 

стоп. а что с примером то?

<?
session_start
(); 
$num "f"
if (
$num === "f"
{         
    
session_unregister(session_id()); 
    
session_destroy(); 
     
     

echo 
"<a href = ляля>линк</a>"
?>

sid в линке так с первого раза и не убился

   
 
 автор: Akira   (07.06.2005 в 19:37)   письмо автору
 
   для: RV   (07.06.2005 в 19:19)
 

Вы бы воложили полный листинг.
Так можно было бы проверить как работает у других.

   
 
 автор: RV   (07.06.2005 в 19:19)   письмо автору
 
   для: Akira   (07.06.2005 в 19:06)
 

Akira
у меня функция update возвращает тру или фолс (if ... return true else return false)
ну я так и проверяю.
а во вторых если скрипт работает и зенд не дает ошибок, то использую === вместо ==

   
 
 автор: Akira   (07.06.2005 в 19:06)   письмо автору
 
   для: Akira   (07.06.2005 в 19:01)
 

Вот , что я использовал для wap ONLINE.

<? 
include 'db/config.php';
@
session_start();
$id session_id();
if (empty(
$name)) $name 'Guest';
$query mysql_query("select count(*) FROM 'session' where 'id_session' like '".$id."'");
$otvet mysql_fetch_array($query);
if (
$otvet['count(*)'] == 1)
{
$query mysql_query("UPDATE 'session' SET 'date' = NOW(), 'user' = '".$name."' WHERE 'id_session' = '".$id."' LIMIT 1 ;");
}
else
{
$query mysql_query("INSERT INTO 'session' ( 'id_session' , 'user' , 'date' ) 
VALUES ('"
.$id."', '".$name."', NOW());");
}
$query mysql_query("DELETE FROM 'session' WHERE date < NOW( ) - INTERVAL '3' MINUTE LIMIT 1");

?>

Все работает...

   
 
 автор: Akira   (07.06.2005 в 19:01)   письмо автору
 
   для: RV   (07.06.2005 в 18:23)
 


<? 
session_start
(); 
$client_ip $_SERVER['REMOTE_ADDR']; 
$client_br $_SERVER['HTTP_USER_AGENT']; 

if (
$_SESSION['set'] === "true"// проверяем установлена ли ранее сессия 

     
    if ((
$client_ip === $_SESSION['client_ip']) AND ($client_br === $_SESSION['client_br'])) // если установлена то проверяем правильная ли она, т.е. не сделал ли ее юзер 
    

        echo 
"продолжаем сессию"
    } 
    else 
    { 
        
session_destroy(); // сессия кривая, наверно юзер хакер 
        
echo "сессия убита"
    } 

else  
// если сессия не стоит, то начинаем 

// проверяем куки, сверяемся с бд, если юзер опознан, то         

        if (
update($users_array['login']) === true// обновляем в бд время последнего посещения 
        

            
session_destroy(); 
            
session_start(); // начинаем новую сессию и заводим переменные 
            
$_SESSION['client_ip'] = $client_ip
            
$_SESSION['client_br'] = $client_br
            
$_SESION['set'] = "true"
         
        } 
        else 
        { 
            echo 
"Ошибка обновления даты"
        } 
    } 
    else 
    { 
        
session_destroy(); 
        echo 
"Юзер гость сессия уничтожена"
    }         


?>

А почему используеться такая проверка ? (update($users_array['login']) === true)
Мне казалось надо (update($users_array['login']) == true) или можно справить на
(if(update($users_array['login']))) ведь true булево значение...

   
 
 автор: Akira   (07.06.2005 в 19:01)   письмо автору
 
   для: RV   (07.06.2005 в 18:23)
 


<?
if(session_start()) print 'Сессия успешно!!<br>';
if (empty(
$a) or empty($b))
    {
        
        if (
$_SESSION['a'] = "Это " AND $_SESSION['b'] = "Сессия") print 'Переменные зарегистрированы';
        print 
$_SESSION['a'].$_SESSION['b'];
    }
else
    {
        if(
session_destroy()) print 'Сессия успешно destroy!!';
        unset(
$_SESSION['a']);
        unset(
$_SESSION['b']);
        print 
$_SESSION['a'].$_SESSION['b'];
    }
?>

Странно, но у меня все ок.

   
 
 автор: RV   (07.06.2005 в 18:23)   письмо автору
 
   для: cheops   (07.06.2005 в 18:06)
 


session_start();
$num = "f";
if ($num === "f")
{        
    session_unregister(session_id()); 
    session_destroy();
    
    
}
echo "<a href = ляля>линк</a>";
?>

и так тоже показывает и наоборот
session_destroy();
session_unregister(session_id());
и так тоже нет

   

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

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

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