Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   как php работать с куки? (http://forum.oszone.net/showthread.php?t=46926)

slaine 20-03-2005 15:48 308475

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

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

vadimiron 20-03-2005 20:26 308548

Короткая статья по Вашему вопросу (там также есть, как устанавливать куки с помощью перл и джавыскрипт, кому интересно)

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

E-mail 20-03-2005 23:35 308587

slaine
пропущен сесион_старт

vadimiron 21-03-2005 00:34 308603

Цитата:

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

E-mail 21-03-2005 01:31 308619

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

Prisoner 21-03-2005 09:47 308684

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

slaine 21-03-2005 21:34 308839

<?
$_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 308971

Код:

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


slaine 22-03-2005 12:15 308983

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


Время: 04:03.

Время: 04:03.
© OSzone.net 2001-