• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Cookie

  • Автор темы Vadik(R)
  • Дата начала
V

Vadik(R)

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

etc

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

Vadik(R)

Код:
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?
А про иф дело в том, что у меня "какой-то текст" на самом деле очен длинный и часто повторяющийся, поэтому я хочу страницу написать так:
Код:
какой-то текст, одинаковые мета-теги
<?php
if (!$_COOKIE["counter"]) {
setcookie("counter", "1");
echo "0";
?>
куки поставлены сейчас
<?php
} else {
setcookie("counter", $_COOKIE["counter"]+1);
echo $_COOKIE["counter"];
?>
куки уже были поставлены раньше
<?php
}
?>
И беспокоюсь за то, что бы у все людей все отображалось нормально.
 
E

etc

потому что у меня IE 7.0 или потому что Apache 2 и php 5?
А что говорят в документации?
у меня "какой-то текст" на самом деле очен длинный
Да какая разница какой текст, делайте как указано и проблем не будет.
Вы же даже сабжевую статью не прочитали, там же не ошибка а варнинг, а варнинги можно и отключить, что скажется только на варнинге, а не на результате.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!