Войти

Показать полную графическую версию : как php работать с куки?


slaine
20-03-2005, 15:48
Скажите как php работать с куки? Объясните пожалуйста.
я вычитал из одной книги вотэто, а она не работает:

<?
$_COOKIE['counter']++;
setcookie("counter", $counter);
echo 'Вы посетили эту страницу '.$_COOKIE['counter'].' раз';
?>

vadimiron
20-03-2005, 20:26
Короткая статья (http://www.docs.tusnya.net/index.php?subaction=showfull&id=1091574082&archive=1104872757&start_from=&ucat=8&dodoc=8) по Вашему вопросу (там также есть, как устанавливать куки с помощью перл и джавыскрипт, кому интересно)

Если после прочтении статьи возникли вопросы более частного характера, то пишите

E-mail
20-03-2005, 23:35
slaine
пропущен сесион_старт

vadimiron
21-03-2005, 00:34
slaine
пропущен сесион_старт
Это совсем не обязательно, Куки существуют сами по себе, например куки, которые создаются этим форумом, чтобы всё время не вводить имя и пароль, хранятся и используются долго, вне зависимости от определённой сессии

E-mail
21-03-2005, 01:31
vadimiron
а точно, не из той оперы высказанулся:)
но зато $_COOKIE['counter']++;
тут кавычки необязательны:))
и еще, echo с двойными кавычками работает быстрее чем с одинарными, вот.
а код лутше начинать как <?php но это уже не фатально:))

Prisoner
21-03-2005, 09:47
E-mail
Опять некорректности...
1) Кавычки обязательны - при некоторых, отличных от ваших, настройках php, интерпретатор может выдать нотайс аля "неозначенная константа counter"
2) Двойные кавычки не быстрее - в строке окруженной двойными кавычка происходит разбор на предмет нахождения переменных и даже если их там нет, то строку все равно надо проанализировать. В случае с одинарными интерпретатор о разборе даже не задумывается - сразу передает на вход функции какой-либо. Поищите на форуме - о скорости и прочих нетривиальностях языковых конструкций php писал когда-то Vlad Drakula.

slaine
21-03-2005, 21:34
<?
$_COOKIE['counter']++;
setcookie("counter", $counter);
echo "Вы посетили эту страницу ".$_COOKIE['counter']." раз";
?>

Вот с этим кодом выдают такую ошибку:

Notice: Undefined index: counter in E:\x\xxx.php on line 2

Notice: Undefined variable: counter in E:\x\xxx.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at E:\x\xxx.php:2) in E:\x\xxx.php on line 3
Вы посетили эту страницу 1 раз

mar
22-03-2005, 11:34
<?php
$_COOKIE['counter']++;
$counter = $_COOKIE['counter'];
setcookie("counter", $counter);
echo "Вы посетили эту страницу ".$_COOKIE['counter']." раз";
?>

slaine
22-03-2005, 12:15
Всё равно не пашет, что за глюки, может это из за пятой версии php?
А php4 можно на ИСС поставить?




© OSzone.net 2001-2012