[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сессии
Shuriken
Всем привет!

Выполнение вот такого скрипта

<?
session_start();
// создаем новую сессию или
// восстанавливаем текущую

echo session_id();
// выводим идентификатор сессии
?>
<html>
<
head><title>My home page</title></head>
...
// домашняя страничка
</html>
<?
echo session_name();
// выводим имя текущей сессии.
// В данном случае это PHPSESSID

?>


выводит на экран вот это

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at K:\home\localhost\www\index.php:1) in K:\home\localhost\www\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at K:\home\localhost\www\index.php:1) in K:\home\localhost\www\index.php on line 2
86f7d4ffb20dbe2c774f97f1b587900e ... // домашняя страничка PHPSESSID


На headers ругается аналогино. Я так понимаю это что-то с настройками сервера. Но вот с какими не знаю. Помогите разобраться.

Зараннее благодарен.



Спустя 6 минут, 3 секунды (14.08.2012 - 09:39) Игорь_Vasinsky написал(а):
не правмльно ты понимаешь.

перед стартом сессии или посылом заголовка не должно быть никакого вывода, ни html, не пустых строк (до тега <?php) ни print ни echo

если файл в кодировке Utf - пересохранить файл в кодировке utf без bom

Спустя 3 минуты, 50 секунд (14.08.2012 - 09:43) Shuriken написал(а):
Цитата (Игорь_Vasinsky @ 14.08.2012 - 07:39)
не правмльно ты понимаешь.

перед стартом сессии или посылом заголовка не должно быть никакого вывода, ни html, не пустых строк (до тега <?php) ни print ни echo

если файл в кодировке Utf - пересохранить файл в кодировке utf без bom

Спасибо! Ошибок не выводит, но возникла проблема с кодировкой:

5c37e4b4d800a6e1b61249cb6c9c9185 ... // домашняя страничка PHPSESSID

Если сохранить просто utf, то текст выводит нормально, но с ошибкой.

Спустя 3 минуты, 13 секунд (14.08.2012 - 09:46) kamanch написал(а):
С позволения дополню:

как-то это не прилично по отношению к браузеру начать что-то выводить
echo session_id(); 

потом ему говорить, что начинаем документ только теперь (раньше не считово было, типа)
<html>

потом говорить ему, что документ закончен
</html>

но обманывать его и, таки, продолжать вывод
echo session_name(); 


А с кодировкой проблема как раз потому, что отсутсвует
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Спустя 4 минуты, 13 секунд (14.08.2012 - 09:50) Winston написал(а):
header("Content-Type: text/html; charset=utf-8");

Спустя 3 минуты, 49 секунд (14.08.2012 - 09:54) Shuriken написал(а):
Цитата (Winston @ 14.08.2012 - 07:50)
header("Content-Type: text/html; charset=utf-8");

Благодарю! Всё заработало)
Быстрый ответ:

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