Вопрос про завершению сессии.

BigWindow

Новичок
Вопрос про завершение сессии.

Всем привет!

Прочитал сегодня замечательную статью Сессии. Подробное описание работы и объяснение механизма. дабы разобраться с механизмом сессий. По ходу изучения возникли вопросы.

Для того, чтобы не стартовать сессии кому попало (Поисковикам, не зарегиным пользователям) написал в начале главной страницы следущий код:

PHP:
if (isset($_REQUEST[session_name()])) 
{
echo('Сессия запущена!');
session_start();
}
Для завершения сессии, написал такой код:

PHP:
session_start();  
session_destroy();  
header("Location: index.htm");
Проблема в том, что после выхода из сессии и редиректа на главную страницу, выводится сообщение: "Сессия запущена!". Т.е. первый скрипт считает, что сессия запущена.

Мне кажется, что я неправильно реализовал выход из сессии. Или проблема в чем-то другом?
 

filipchuk

Новичок
echo('Сессия запущена!');
session_start();

вставь в начало скрипта error_reporting(E_ALL);
 

IIIEPJIOK

Новичок
дык, те ее вырубил :)
просто
PHP:
if (isset($_REQUEST[session_name()])) 
{
echo('Это не означает, что не было вызова session_destroy(),');
echo(' а означает, что броузер нашел куку,');
echo(' как уже было сказано выше, и отправляет данные из нее серверу');
}
ты что пытаешься проверить этим
PHP:
if (isset($_REQUEST[session_name()]))
?
 

BigWindow

Новичок
Автор оригинала: IIIEPJIOK
дык, те ее вырубил :)
Да это понятно. Просто я использую в нескольких местах проверку на наличие запущенной сессии.
Если даже я и вырубил сессию, но браузер находит куку, то на моей странице будут отображаться элементы, зависящие от первого скрипта (проверка сессии).

Поэтому нужно, чтобы скрипт проверки работал корректно.

-~{}~ 17.12.07 11:37:

Автор оригинала: IIIEPJIOK
ы что пытаешься проверить этим
PHP:
if (isset($_REQUEST[session_name()]))
?
Запущена ли сессия :)
 

IIIEPJIOK

Новичок
PHP:
if (isset($_GET['destroy'])){
	session_start();
	session_destroy();
	header("Location: 1.php");
}
if (isset($_GET['start'])){
	session_start();
}

if (isset($_REQUEST[session_name()])){
	echo($_REQUEST[session_name()]);
	if (isset($_SESSION)){
		print_r($_SESSION);
}
}else{
	if (isset($_SESSION)){
		print_r($_SESSION);
	}
	echo('не знаю ни какких сешион_нейм');
}
поиграйся с этим :) должно навести на мысли :)
 

Фанат

oncle terrible
Команда форума
единственный, кто ответил по делу, был kruglov
ну, кроме последнего ответа Mr_Max

И это печально.

Кстати, в фак стоит добавить про стирание куки.

Другое дело, что практической пользы у кода echo('Сессия запущена!'); нет.
 
Сверху