Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с сессиями

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Сессия никак не завершается
nikitasnv
Отправлено: 13 Декабря, 2008 - 01:13:25
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




Здравствуйте. Проблема в следующем, даже после выполнения нижепреведенного кода сессия не завершается и куки остаются. Подскажите пожалуйста как это лечить.
 
 Top
RomAndry Администратор
Отправлено: 13 Декабря, 2008 - 10:31:33
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




Возможно заблокирован вывод ошибок и что-то выводится ДО старта сессии.
 
My status
 Top
valenok Модератор
Отправлено: 13 Декабря, 2008 - 10:56:49
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. Error_Reporting(E_ALL & ~E_NOTICE);
  3.  
  4. echo 'Session not yet initialized: a='.$_SESSION['a'],'<br>';
  5. $_SESSION['a'] = 'a';
  6. echo 'Session initialized: a='.$_SESSION['a'],'<br>';
  7. $_SESSION = array();
  8. echo 'Session destroyed: a='.$_SESSION['a'],'<br>';


Нажми два раза ф5 потом скажи что вывело на третий раз


-----
Truly yours, Sasha.
 
My status
 Top
nikitasnv
Отправлено: 13 Декабря, 2008 - 13:23:01
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




Цитата:
Нажми два раза ф5 потом скажи что вывело на третий раз


Выводит вот это:

Session not yet initialized: a=

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at S:\home\snv.ua\www\test.php:3) in S:\home\snv.ua\www\test.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at S:\home\snv.ua\www\test.php:3) in S:\home\snv.ua\www\test.php on line 4
Session initialized: a=a
Session destroyed: a=
(Добавление)
RomAndry пишет:
Возможно заблокирован вывод ошибок и что-то выводится ДО старта сессии.


До старта сессии ничего не выводится. Это вообще единственное что есть на странице.
(Добавление)
Вот полный код страницы:
 
 Top
Ыыы
Отправлено: 13 Декабря, 2008 - 13:33:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Июль 2008  
Откуда: Россия, Хабаровск


Помог: 0 раз(а)




Возможно перед <?php стоит пробел, или системный символ. Такое бывает при редактировании файла в некоторых редакторах.
 
 Top
nikitasnv
Отправлено: 13 Декабря, 2008 - 14:18:51
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




Ыыы пишет:
Возможно перед <?php стоит пробел, или системный символ. Такое бывает при редактировании файла в некоторых редакторах.


Никаких пробелов нет.
Переменные уничтожаются, но куки остаются. Соответственно сессия тоже Огорчение
 
 Top
Shock
Отправлено: 13 Декабря, 2008 - 15:34:55
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Дек. 2008  


Помог: 0 раз(а)




А этот код у тебя перед <html> стоит или после. Если после, значит поставь перед. тоесть:
<?php
session_start();
//....
session_destroy();
?>
<html>
<head>
и так далее.
 
 Top
nikitasnv
Отправлено: 13 Декабря, 2008 - 15:52:56
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




Shock пишет:
А этот код у тебя перед <html> стоит или после. Если после, значит поставь перед.

Перед. Кроме этого кода в файле вообще ничего нет, кроме страницы которая подключается через include в самом его конце.
 
 Top
Гость
Отправлено: 13 Декабря, 2008 - 17:04:44
Post Id


УДАЛЁН










Точно ли ИМЕННО с помощью include() ?
Если используется require(), то, насколько мне изветсно, она всегда подключается в самое начало, причем безусловно.
Проверьте это дело
 
 Top
nikitasnv
Отправлено: 13 Декабря, 2008 - 17:16:02
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




JustUserR пишет:
Точно ли ИМЕННО с помощью include() ?
Если используется require(), то, насколько мне изветсно, она всегда подключается в самое начало, причем безусловно.
Проверьте это дело


include()!!!! Точнее некуда, особенно если учесть что текст скрипта описан здесь полностью.
Ещё раз выкладаваю текст ФАЙЛА exit.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_REQUEST[session_name()]))
  3. {
  4. $_SESSION = array();
  5. unset($_REQUEST[session_name()]);
  6. }
  7. include ("index.php");
  8. ?>


Это всё что есть в файле. Больше нет ничего! Да, это ВСЁ содержимое файла!

(Отредактировано автором: 13 Декабря, 2008 - 17:17:45)

 
 Top
valenok Модератор
Отправлено: 13 Декабря, 2008 - 17:55:43
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_REQUEST[session_name()]))
  3. {
  4.  
  5.  
  6.  
  7. echo 'Я',$_REQUEST[session_name()],' ',session_name(),' служивший тебе, верой и правдой, отныне и до покон веков буду считаться удаленным. Аминь!';
  8.  
  9. $_SESSION = array();
  10. unset($_REQUEST[session_name()]);
  11. }
  12.  
  13. include ("index.php");
  14. ?>
  15.  


Пишет что сессия удалена когда ты нажимаешь "удалить" ?


-----
Truly yours, Sasha.
 
My status
 Top
nikitasnv
Отправлено: 13 Декабря, 2008 - 21:06:40
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




valenok пишет:
Пишет что сессия удалена когда ты нажимаешь "удалить" ?

Так делать нельзя, т.к. перед session_start(); ничего не должно выводиться!

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

Это далеко не лучшее решение, поэтому жду помощи.

(Отредактировано автором: 14 Декабря, 2008 - 00:01:38)

 
 Top
valenok Модератор
Отправлено: 13 Декабря, 2008 - 23:04:00
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Поторопился и не туда вписал.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB