Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вопросы по сессиям
 
 автор: And200   (18.10.2004 в 10:37)   письмо автору
 
 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\www\Apache2\htdocs\....:9) in D:\www\Apache2\htdocs\.....on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\www\Apache2\htdocs\.....:9) in D:\www\Apache2\htdocs\......on line 11

Делаю сеанс. Все получается, но вместе со страницей появляются предупреждения.
Как я понял, у меня не установлены какие-то исходные. Где их устанавливать и как?. Где об этом почитать?

   
 
 автор: Кузнецов М.В.   (18.10.2004 в 11:06)   письмо автору
 
   для: And200   (18.10.2004 в 10:37)
 

Дело в том, что перед тем как послать сессионный кук уже были посланы какие-то заголовки - собственно так и написано:
Cannot send session cookie - headers already sent by (не могу послать сессионный кук - заголовки уже были посланы)
и ниже тоже самое про ограничитель кеша.

При работе с cookies их надо обязательно устанавливать перед отправкой в браузер каких-либо заголовков, поскольку сами cookies устанавливаются в виде заголовков. Поэтому если установить cookies после какого-либо текста (или иных заголовков), отправляемого в браузер, то возникнет ошибочная ситуация. Вот пример неправильного кода установки куки:

<html>
Если здесь поместить текст, то возникнет ошибка, так как
будет послан заголовок Content-type: text/html. 
<?php
setcookie
("maks"$maks);
echo(
"Привет, $maks!");
?>
</html>

Не надо делать также и так:

<?php
header 
(Location...);
setcookie("maks"$maks);
echo(
"Привет, $maks!");
?>

   
 
 автор: And200   (18.10.2004 в 11:45)   письмо автору
 
   для: Кузнецов М.В.   (18.10.2004 в 11:06)
 

Я поставил session_start(); в начало, и все получилось. Спасибо.
Еще один вопрос, надо ли как то настраивать сессии, или нет?Я имею ввиду, так же, как настраиваються Кукис в Вашей книге?
Я понимаю, что в одной книге нельзя охватить все, но посоветуйте, где почитать о сеансах?
Заранее благодарен.

   
 
 автор: cheops   (18.10.2004 в 12:03)   письмо автору
 
   для: And200   (18.10.2004 в 11:45)
 

Стандартные настройки сессий лучше не трогать чтобы создаваемый код был максимально переносимый. Единственное, что стоит настроить - это путь к директории для хранении сессий на жёстком диске - это позволит контролировать, создаются сессии или нет: http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=104

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=512&page=1

   
 
 автор: And200   (18.10.2004 в 12:20)   письмо автору
 
   для: And200   (18.10.2004 в 11:45)
 

Спасибо, я все понял. И последнее на эту тему: Что лучше использовать , по Вашему мнению, сессии или кукис?

   
 
 автор: cheops   (18.10.2004 в 12:43)   письмо автору
 
   для: And200   (18.10.2004 в 12:20)
 

Ну... их как бы сравнивать не совсем корректно так как они взаимодополняют друг друга, на самом деле оба механизма предназначены для сохранения состояния, которое не обеспечивает HTTP. Кукисы храняться на машине посетителя и время их хранения определяет разработчик (ну и посетитель, который их может уничтожить), а сессии хранятся на сервере и время их жизни (обычно не большое) определяет администратор сервера.
Кукисы обычно применяют для долгосрочных задач (от нескольких часов) и хранения информации, которая относится всецело к конкретному посетителю (личные настройки, логины, пароли и т.п.), а сессии предназначены для краткосрочных задач (до нескольких часов) и хранения и обработки информации обо всех посетителях в целом (число посетителей on-line и т.п.). Поэтому использовать тот или иной механизм следует в зависимости от задачи.

   
 
 автор: And200   (20.10.2004 в 10:17)   письмо автору
 
   для: cheops   (18.10.2004 в 12:43)
 

Спасибо , я буду разбираться дальше.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования