|
|
|
| Делаю пример из учебника по PHP этого сайта.
===========================================
<?
$counter++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
============================================
Почему то надпись "Вы посетили эту страницу 1 раз" не меняется.
register_globals = off
Заранее спасибо | |
|
|
|
|
|
|
|
для: meatball
(15.03.2005 в 21:06)
| |
<?
$counter++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
"Плюшки" проверели? Может они отключены?
register_globals = on; | |
|
|
|
|
|
|
|
для: Akira
(15.03.2005 в 21:45)
| | Если так, то у меня надпись "Вы посетили эту страницу 1 раз" остается
Пробовал и с register_globals = off
и register_globals = on | |
|
|
|
|
|
|
|
для: meatball
(15.03.2005 в 21:06)
| |
<?
$counter = $_COOKIE['counter']++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
| |
|
|
|
|
|
|
|
для: isset
(15.03.2005 в 21:49)
| | А если так
<?
$counter = $_COOKIE['counter']++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
Остается надпись "Вы посетили эту страницу раз"> | |
|
|
|
|
|
|
|
для: meatball
(15.03.2005 в 22:01)
| | вообще то если я не дурак, то в $counter надо значение сначало занести.
к чему у вас идет прибавление, к пустоте ?
по идеи должно быть так
<?
if ($_COOKIE['counter'] == "") {
$counter = "1";
} else {
$counter = $_COOKIE['counter']++;
}
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
вроде так | |
|
|
|
|
|
|
|
для: Valeri
(16.03.2005 в 00:04)
| | Да, так правильно. На будущее если $counter = "" , то ++ превратит его в integer (0) | |
|
|
|
|
|
|
|
для: isset
(16.03.2005 в 00:20)
| | Всем спасибо.
Но только все равно остается надпись "1 раз".
Помогите... Плизз-з-з-з. | |
|
|
|
|
|
|
|
для: meatball
(16.03.2005 в 16:12)
| | В примере двумя постами выше была проблема с post-инкрементом, сначала приравнивалось значение и лишь затем увеличивалось на единицу. Нужно использовать либо пред-инкремент, либо явно прибавлять единицу
<?php
if (!isset($_COOKIE['counter']))
{
$counter = 1;
} else {
$counter = $_COOKIE['counter'] + 1;
}
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
|
PS Данный вариант расчитан на случай, если отключена директива register_globals. | |
|
|
|
|
|
|
|
для: cheops
(16.03.2005 в 19:21)
| | Ура, спасибо всем | |
|
|
|
|
|
|
|
для: cheops
(16.03.2005 в 19:21)
| | Все получилось.
Всем огромное спасибо.
Отдельное спасибо "cheops"-лучший в этом топе!!!
Это классный форум, теперь буду здесь виснуть! Все такие отзывчивые, грамотные. | |
|
|
|