Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка при работе с сессией  (Прочитано 10984 раз)
0 Пользователей и 1 Гость смотрят эту тему.
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 29-06-2005 12:42 » 

делаю так
Код:
session_start();
if(!isset($_SESSION['idusr']))
{
$_SESSION['idusr']=session_id();
$_SESSION['splist']=$splist;
$_SESSION['nplist']=$nplist;
}
session_destroy();
Вываливается следующее в замен
Цитата
session_start(): Cannot send session cookie - headers already sent by (output started at ...//адрес страниц
$splist И $nplist - одномерные массивы
Где я не прав и что делать?
зы: я потом хочу делать так
Код:
$perem=$_SESSION['splist'][0];
Я могу так делать?
« Последнее редактирование: 03-12-2007 20:14 от Алексей1153++ » Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 29-06-2005 13:36 » 

Вываливается следующее в замен
Cannot send session cookie - headers already sent by (output started at ...//адрес страниц
Проверяй весь код. Перед вызовом session_start() НЕ МОЖЕТ БЫТЬ НИКАКОГО ВЫВОДА информации. В твоём случае что то уже выводится (прочитай внимательно сам текст ошибки Улыбаюсь ) .
зы: я потом хочу делать так
Код:
$perem=$_SESSION['splist'][0];
Я могу так делать?
Можеш
« Последнее редактирование: 03-12-2007 20:15 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 29-06-2005 13:53 » 

Цитата
Перед вызовом session_start() НЕ МОЖЕТ БЫТЬ НИКАКОГО ВЫВОДА информации.
Т.е. я даже не могу сделать так:
Код:
print 'hello';
session_start();

« Последнее редактирование: 03-12-2007 20:15 от Алексей1153++ » Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 29-06-2005 13:55 » 

Нет не можеш. Сначала session_start(); а потом всё что душе угодно Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 29-06-2005 13:59 » 

а если будет вот так к примеру
Код:
session_start();
print '..''
...
session_start();
print(...);
....
Будет в этом случае ошибка вываливаться?
« Последнее редактирование: 03-12-2007 20:16 от Алексей1153++ » Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 29-06-2005 14:05 » 

Да Улыбаюсь
А зачем тебе два раза стартовать сессию в одном скрипте ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 29-06-2005 14:12 » 

Это я пример такой привел. Это на случай, если в одном файле есть session_start() и этот файл подгружает (через include) другой файл в котором тоже есть session_start();
Записан

ещё один вопрос ...
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 29-06-2005 14:31 » 

Мороз, еще такой вопрос. Я хочу, чтобы значения в $_SESSION заносились для каждого пользователя только один раз, пока он лазеет по сайту. Т.е. пользователь зашел, в $_SESSION занеслись значения и больше чтобы они не заносились. Но код где вносятся значения может подгружаться несколько раз. Так вот я, в целях избежания перезаписи $_SESSION ставлю такое условие
Код:
if(!isset($_SESSION['idusr']))
Я прав?
« Последнее редактирование: 03-12-2007 20:17 от Алексей1153++ » Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #8 : 30-06-2005 04:11 » 

Мороз, еще такой вопрос. Я хочу, чтобы значения в $_SESSION заносились для каждого пользователя только один раз, пока он лазеет по сайту. Т.е. пользователь зашел, в $_SESSION занеслись значения и больше чтобы они не заносились. Но код где вносятся значения может подгружаться несколько раз. Так вот я, в целях избежания перезаписи $_SESSION ставлю такое условие
Код:
if(!isset($_SESSION['idusr']))
Я прав?
Не совсем Улыбаюсь Дополнить надо проверку, потому как переменная такая сессии может быть но пустая :
Код:
if(!isset($_SESSION['idusr']) || $_SESSION['idusr'] == "")
« Последнее редактирование: 03-12-2007 20:17 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 30-06-2005 15:41 » 

А пустая она из-за чего может быть?
Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #10 : 30-06-2005 18:49 » 

А пустая она из-за чего может быть?
Да необязательно так как я сказал писать Улыбаюсь Да мало ли из-за чего может быть Улыбаюсь Я например после того как хотябы неделю программирую на си шарпе, либо на си плюс плюс, то потом просто автоматически создаю переменную и всегда стараюсь её тут же инициализировать Улыбаюсь Щаще всего именно путым значением Улыбаюсь Потом в процесе бывает так что нет нужды в этой переменной (например потому, что в процесе написания кода у тебя в голове тут же меняется предыдущий план) и она остаётся пустой Улыбаюсь В некоторых строготипизированых языках компилятор ругнётся на то что переменная не используется нигде, либо создана но не иницилизируется Улыбаюсь А в ПХП чаще всего вывод предупреждений вообще отлючен Улыбаюсь
« Последнее редактирование: 30-06-2005 18:51 от MOPO3 » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines