|
|
|
| Скриптик из учебника
<?
$counter++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
Возникает ошибка нопределенной переменной.
Если определить ее $counter=0, то код теряет динамичность. Подскажите, как исправить ошибку. | |
|
|
|
|
|
|
|
для: dim
(30.08.2005 в 22:50)
| | Notice не является ошибкой, а является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок. | |
|
|
|
|
|
|
|
для: cheops
(31.08.2005 в 00:53)
| | cheops, знаете код все равно не работает.
Ошибка (точнее, notice) исчезла, правда код не стал динамичным - сколько раз я ни захожу на страницу, возвращаюсь на нее, загружаю заново - в новом окне, в этом же - браузер мне УПОРНО печатает мою ПОСЕЩАЕМОСТЬ 1 РАЗ!!! | |
|
|
|
|
|
|
|
для: dim
(31.08.2005 в 16:50)
| | Проверьте в конфигурационном файле php.ini не отключена ли у вас директива register_globals - именно она отвечает за прямую передачу значений из cookie, сессий, методов GET и POST непосредственно в переменные сервера.
Если это так, её можно включить
Подробнее об данной директиве можно почитать в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=13, но лучше сразу использовать суперглобальные массивы, т.е.
<?
if(isset($_COOKIE['counter'])) $counter = $_COOKIE['counter'];
$counter++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(31.08.2005 в 19:14)
| | Не срабатывает, только хуже(скрипт один к одному, реакция же браузера):
Notice: Undefined variable: counter in w:\home\test1.ru\www\cookies.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at w:\home\test1.ru\www\cookies.php:3) in "url" on line 4
Вы посетили эту страницу 1 раз
...и, кроме того, посещаемость опять мертвая - 1 раз!.. | |
|
|
|
|
|
|
|
для: dim
(06.09.2005 в 13:25)
| | Ошибка возникает из-за notice, который является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|