Форум → Программирование → PHP для идиотов → Подскажите
Подскажите
-
Вот изучаю php. Дошел до кук и тут броблема.Код :
<html>
<title></title>
<body>
<?
error_reporting(E_ALL & ~E_NOTICE);
$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
echo "$_COOKIE[counter]";
?>
</body>
</html>
Вроде как он должен подсчетать количество посещений на страницу, но видает error :
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\cookie.php:4) in X:\home\localhost\www\cookie.php on line 7
1(что за цыфра непойму)
Поскажите в чем проблема -
7 марта 2010 г. 21:50, спустя 1 минуту 47 секунд
Код на pyha.ru нужно обрамлять в тег языка. Вот так:<html>
<title></title>
<body>
<?
error_reporting(E_ALL & ~E_NOTICE);
$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
echo "$_COOKIE[counter]";
?>
</body>
</html> -
7 марта 2010 г. 21:57, спустя 6 минут 10 секунд
Код :<html>
<title></title>
<body>
<?
error_reporting(E_ALL & ~E_NOTICE);
$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
echo "$_COOKIE[counter]";
?>
</body>
</html>
error :
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\cookie.php:4) in X:\home\localhost\www\cookie.php on line 7
1(что за цыфра непойму)
Прошу прощения -
7 марта 2010 г. 21:59, спустя 2 минуты 37 секунд
А проблема у вас в том, что работать с cookie, session и прочими headers можно лишь до того момента, как на экране напечатан первый символ. В вашем случае первый символ будет на первой строчке.
+$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
Во-первых, вторую строчку нужно выполнять первой.
Во-вторых, вторую строчку нужно выполнят только если $_COOKIE['counter'] не существует.
В-третьих, это ваще бред. Писать нужно примерно так.
<?php
error_reporting(E_ALL & ~E_NOTICE);
if (isset($_COOKIE['counter'])) setcookie("counter", 0);
$_COOKIE['counter']++;
?>
<html>
<title></title>
<body>
<?php
echo "$_COOKIE[counter]";
?>
</body>
</html>Спустя 132 сек.PS Мог где нибудь накосячить ибо с браузера писал. -
7 марта 2010 г. 22:07, спустя 7 минут 57 секунд
Спасибо
И ето не я писал, ето с книги списано и протестировано.
Тогда другой вопрос :if (isset($_COOKIE['counter'])) setcookie("counter", 0);
у меня все время виводит ноль.
Если я правильно понимаю, то если куки counter есть, то присвоить ей значение нолью.
Собственно меня интересует , если я зделаю такif (isset($_COOKIE['counter'])) setcookie("counter", $_COOKIE['counter']);
то вроде как counter должно увеличивать значение на 1 при перезагрузке станице.
Мне интересует как подсчитать сколь раз я ету старницу перегрузил.
Хотя если я не прав - исправте. -
7 марта 2010 г. 22:13, спустя 5 минут 26 секунд
я тут понял где накосячил, все таки автор книги прав=) код работает, я просто неправильно записал что и повлекло за собой вопрос<?php
$_COOKIE['counter']++;
setcookie("counter", $_COOKIE['counter']);
?>
<html>
<title></title>
<body>
<?php
echo "$_COOKIE[counter]";
?>
</body>
</html> -
7 марта 2010 г. 22:51, спустя 38 минут 23 секунды
Tocter, ну да. Тупанул я немного. Если не задано, то присваивать 0. А у автора книги хуйня какая то. Неимхо.<?php
error_reporting(E_ALL & ~E_NOTICE);
if (!isset($_COOKIE['counter'])) setcookie("counter", 0);
$_COOKIE['counter']++;
?>
<html>
<title></title>
<body>
<?php
echo "$_COOKIE[counter]";
?>
</body>
</html> -
7 марта 2010 г. 22:54, спустя 2 минуты 36 секунд
Это пиздец
echo "$_COOKIE[counter]";https://smappi.org/ - платформа по созданию API на все случаи жизни -
7 марта 2010 г. 22:55, спустя 1 минуту 48 секунд
adw0rd,
я если чё его код копипастом дописывал.))
Правильно так?echo $_COOKIE['counter'];
-
7 марта 2010 г. 23:02, спустя 6 минут 44 секунды
SpartakuS, я про его код и говорю..
да, так лучше )https://smappi.org/ - платформа по созданию API на все случаи жизни -
7 марта 2010 г. 23:06, спустя 4 минуты 22 секунды
по coding standarts Slaed CMS это было бы как-то так:echo "" . $_COOKIE['counter'] . "";
вы ржете, а я когда-то тоже так писал. В 2006-07 годах примерноСпустя 114 сек.кстати, а разве $_COOKIE['a'] = 'b' будет эквивалентно setcookie? -
7 марта 2010 г. 23:13, спустя 6 минут 17 секунд
Абырвалг, дуд сегодня на дле выебывался. так вот по сравнению со слаедом dle просто Бог.Спустя 44 сек.$_COOKIE['a'] = 'b'
тоже интересно. Я всегда думал, что нет.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!