Консультация № 99591
24.08.2007, 22:59
0.00 руб.
0 2 2
Подскажите пожалуйста что означает такая ошибка PHP -"Warning: Cannot modify header information - headers already sent by (output started at C:ServerApacheApache2htdocsCookie.php:1) in C:ServerApacheApache2htdocsCookie.php on line 3"

Код указан в приложении:


Приложение:
<?php$access=$access+1;setcookie("access",$access);?><?phpprint("$access");?>

Обсуждение

Неизвестный
24.08.2007, 23:15
общий
это ответ
Здравствуйте, Shell!
Такая ошибка возникает, если Вы посылаете какие-либо заголовки(или вызываете функции session_start, setcookie) после вывода какой-то информации в браузер. Так делать нельзя. В данном случае вывод произошел в результате вызова неопределенной ранее переменной $access - должно было вывестись сообщение о неопределенной переменной, что равносильно оператору вывода. Ее надо сначала определить, а потом вызывать. Кроме того, не используйте функцию setcookie, если хотите использовать кукисы. Лучше назначайте явно значения членам суперглобального массива $_COOKIE.

Следует написать, например, так:
<?php
if (!isset($_COOKIE[‘access‘])) {
$_COOKIE[‘access‘] = 1;
} else {
$_COOKIE[‘access‘]++;
}
Неизвестный
25.08.2007, 12:48
общий
это ответ
Здравствуйте, Shell!
Это означает, что в браузер уже что-то выведено(возможно информация о ошибке).
Форма ответа