Проблема с сессиями

workOnFood

Новичок
Только начинаю разбираться в сессиях поэтому прошу сильно не бить.
Почему может один и тот же код работать на Денвере и не работать на хосте?
Вот собственно клочок кода.
PHP:
@session_start();
if(!$_SESSION['login']){
	$_SESSION['login']=$_POST['login'];
	$_SESSION['passw']=$_POST['passw'];
}
echo $_SESSION['login'];
На денвере выводит то что было отправлено через форму при переходе по ссылкам, а на хосте только первый раз то бишь сессия не пишется я так понимаю.

Страница на инклудах, то есть вышеупомянутые переходы по ссылкам посути никуда не переходят, а обновляют часть контента. Инклуды такие include_once()

Если убрать собаку перед session_start() то пишет ошибку, но на денвере тоже самое...

Помогите пожалуйста разобраться, в чём причина такого поведения кода?
 

zerkms

TDD infected
Команда форума
Если убрать собаку перед session_start() то пишет ошибку, но на денвере тоже самое...
Ну и ЗАЧЕМ ёмаё писать собаку, если она затрудняет тебе работу? Собака не исправляет ошибку, а просто скрывает её текст.

Текст ошибки мы угадать не можем, так что будь добр всё таки приведи его сам. Хотя и так очевидно, что там будет. Так что превентивно читать - http://phpfaq.ru/sessions

Если ты учишься работать с сессиями - тогда и учись работать только с ними. А как только научишься - тогда и инклуды и всё остальное добавляй.
 

Bambino

Новичок
Как уже сказал zerkms, "собака" визуально скрывает ошибку. На этапе разработки нужно наоборот включать все отображения ошибок и читать их... :) А читая, исправлять...
 

workOnFood

Новичок
Вот ошибка Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Я её понимаю так - функция не может создать файл сессии так как он уже создан. Правильно я понимаю?
Но во всех примерах работа с сессиями ведётся именно таким образом. В начале страницы session_start далее работа с переменными сессии.
Прочитал FAQ ничего нового не нашёл, не знаю может просто глаз уже замылился, я этих факов сегодня уже перечитал... много.
 

zerkms

TDD infected
Команда форума
workOnFood
Неправильно понимаешь. По ссылке и описание проблемы есть, и её решение. Читай второй раз, но теперь уже внимательно.

+ http://phpfaq.ru/headers (эта ссылка в статье про сессии битая, автору уже об этом отправлено)
 

workOnFood

Новичок
Статья супер!!) Спасибо. Сменил кодировку на UTF без бом и всё заработало.
Главное сто раз натыкался на слова что любой вывод вызывает ошибку, и нигде не было сказано ни слова про кодировки. Двести раз перепроверял страницу, пытаясь найти спрятанный пробел, а всё оказывается так просто.
Ещё раз спасибо за помощь zerkms.)
 
Сверху