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

Форум PHP

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

 

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

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

тема: проблема с кнопкой "Выход"
 
 автор: Angel_Hranitel   (23.06.2007 в 01:22)   письмо автору
 
 

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

              session_destroy();
       setcookie('name','');
     setcookie('pass','');

     header("location:index.php");

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

http://wap-kuban.net.ru

   
 
 автор: Trianon   (23.06.2007 в 01:55)   письмо автору
 
   для: Angel_Hranitel   (23.06.2007 в 01:22)
 

вместо того, чтобы удалять сессию, вытирайте содержиме соответствующего элемента сессионного массива. Эффект куда надежнее.
$_SESSION['project'] = null;
и всё. кто бы что ни нажал - нету элемента.

   
 
 автор: Proger   (23.06.2007 в 02:03)   письмо автору
 
   для: Trianon   (23.06.2007 в 01:55)
 

а session_unset();
session_destroy();

подряд - разве не помогает?

   
 
 автор: Trianon   (23.06.2007 в 02:26)   письмо автору
 
   для: Proger   (23.06.2007 в 02:03)
 

из мануала:
--------------------
Пример 1. Destroying a session with $_SESSION

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}

// Finally, destroy the session.
session_destroy();
?>
Замечание: Only use session_unset() for older deprecated code that does not use $_SESSION.
--------------------
От себя. про session_unset() написано черным по белому. deprecated.
С моей точки зрения, прибивать вообще всю сессию - неразумно, хотя бы потому, что ведь не знаешь никогда, какие сервисы придется поместить на сайт рядом с текущим. Может они тоже захотят что-то в сессии держать. А мы так РРАЗ... и по зубам. Гасить имеет смысл только собственный элемент.

   
 
 автор: Disable   (23.06.2007 в 02:09)   письмо автору
 
   для: Angel_Hranitel   (23.06.2007 в 01:22)
 


<?php
$_SESSION
=array();
@unset(
$_COOKIE[session_name()]);
session_destroy();
?>

   
 
 автор: Angel_Hranitel   (23.06.2007 в 23:05)   письмо автору
 
   для: Disable   (23.06.2007 в 02:09)
 

вообщем не получается... у меня в куки записывается PHPSESSID, вот он остается почему-то...

захожу с оперы на сайт, авторизируюсь, и в куках записывается PHPSESSID, name, pass... после нажатия кнопки "Выход", в куках почему-то остается PHPSESSID... все предложеные варианты испрбовал, а толку нет...

В .htaccess записано

php_value session.use_cookies on
php_value session.use_only_cookies off
php_value session.use_trans_sid on
php_value arg_separator.output "&amp;"

   
 
 автор: Angel_Hranitel   (24.06.2007 в 18:36)   письмо автору
 
   для: Angel_Hranitel   (23.06.2007 в 23:05)
 

???

   
 
 автор: Trianon   (24.06.2007 в 23:23)   письмо автору
 
   для: Angel_Hranitel   (24.06.2007 в 18:36)
 

Вытирайте. Элемент. Сессионного. Массива.

   
Rambler's Top100
вверх

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