[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: logout
ANG3
Здравствуйте, я читал учебник на сайте IRBIS-team. вот там представлен следующий код:

<?php 

if($exit)
{
unset($_SESSION['login']);
session_destroy();
setcookie('hash', '', time() - 3600 * 24, "/");
echo 'Будь здоров, не кашляй.';
}
?>
<form action="" method="post">
<
input name="exit" onClick="return confirm('Вернись, я все прощу!')" type="submit" value="Выход">
</
form>


Вот мой код:

<?php

if(isset($_POST['exit']) )
{
unset($_SESSION['login']);
session_destroy();
setcookie('hash', '', time() - 3600 * 24, "/");
echo 'Вы успешно вышли';
}
?>

<form action="" method="post">
<
input name="exit" onClick="return confirm('Вы действительно хотите выйти?')" type="submit" value="Выход">
</
form>


Вот что кидает в обоих вариантах:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /web/vhosts/**/exit.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at /web/vhosts/**/exit.php:6) in /web/vhosts/**/exit.php on line 7

Вы успешно вышли

Почитал в инете кое-что, пробовал по разному, если поменять строки, то можно добиться удаления куки. blink.gif



Спустя 1 час, 37 минут, 23 секунды (4.01.2010 - 21:29) DeeKeiD написал(а):
Вот мой logout.php

session_start();
if (isset($_SESSION['usr'])) {
// удаляем элемент "usr"
unset($_SESSION['usr']);
}
if (isset($_SERVER['HTTP_REFERER'])) {
header ("location: ".$_SERVER['HTTP_REFERER']);
}else {
header ("location: index.php");
}

Спустя 9 минут, 13 секунд (4.01.2010 - 21:38) ANG3 написал(а):
Unset будет работать, но у меня там ещё session_destroy();. А он вооще нужен?
И куки у меня тоже есть, а они как-то хреново работают вместе с session_destroy(); и unset.

Спустя 13 минут, 9 секунд (4.01.2010 - 21:51) WhiteKnight написал(а):
мой logout.php

<?php
ob_start();
session_start();
unset($_SESSION['login']);
unset($_SESSION['pass']);
session_destroy();
header("Location: ../admin.php");
?>

Спустя 12 минут, 38 секунд (4.01.2010 - 22:04) ANG3 написал(а):
Всем спасибо) session_start(); нужно было сделать. Похоже тот кто писал скрипт, не вставил строки в начале, т.к. переменная тоже не обозначена.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.