Cookie

Тема в разделе "PHP программирование", создана пользователем Vadik(R), 27 июн 2008.

  1. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Люди, вот здесь прочитал статью о том, как работать с cookie в php. Только одно не понятно: там говорится, что нельзя выдавать текст перед установкой куков, так как будет путаница с заголовками. Но как ни странно, у меня работает все нормально и текст выдается перед куками, и куки ставяться после вывода текста. Так вот хотел спросить от чего это зависит: от сервера или от браузера. Просто если от сервера, то я смогу сократить php-файл, потому-что мне не придеться в if'ах писать двадцать раз один и тот же код. А если зависит от браузера, то тогда лучше создам функцию.
     
  2. etc

    etc Гость

    Про какие ифы речь?
    Куки уходят в заголовке (header), заголовок должен уходить перед контентом, вся примудрость.
     
  3. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Код (Text):
    123
    <?php
    echo "456";
    if (!$_COOKIE["counter"]) {
    setcookie("counter", "1");
    echo "0";
    ?>
    какой-то текст
    куки поставлены сейчас
    <?php
    } else {
    setcookie("counter", $_COOKIE["counter"]+1);
    echo $_COOKIE["counter"];
    ?>
    какой-то текст
    куки уже были поставлены раньше
    <?php
    }
    ?>
    Объясняю, что к чему. 123 я пишу простым способом, 456 с помощью echo, потом ставлю куки, и они ставяться нормально и никакой ошибки не возникает. Вот я и спрашиваю, почему ошибку не возникает: потому что у меня IE 7.0 или потому что Apache 2 и php 5?
    А про иф дело в том, что у меня "какой-то текст" на самом деле очен длинный и часто повторяющийся, поэтому я хочу страницу написать так:
    Код (Text):
    какой-то текст, одинаковые мета-теги
    <?php
    if (!$_COOKIE["counter"]) {
    setcookie("counter", "1");
    echo "0";
    ?>
    куки поставлены сейчас
    <?php
    } else {
    setcookie("counter", $_COOKIE["counter"]+1);
    echo $_COOKIE["counter"];
    ?>
    куки уже были поставлены раньше
    <?php
    }
    ?>
    И беспокоюсь за то, что бы у все людей все отображалось нормально.
     
  4. etc

    etc Гость

    А что говорят в документации?
    Да какая разница какой текст, делайте как указано и проблем не будет.
    Вы же даже сабжевую статью не прочитали, там же не ошибка а варнинг, а варнинги можно и отключить, что скажется только на варнинге, а не на результате.
     
Загрузка...

Поделиться этой страницей