Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cookie
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
Vadik(R)
Люди, вот здесь прочитал статью о том, как работать с cookie в php. Только одно не понятно: там говорится, что нельзя выдавать текст перед установкой куков, так как будет путаница с заголовками. Но как ни странно, у меня работает все нормально и текст выдается перед куками, и куки ставяться после вывода текста. Так вот хотел спросить от чего это зависит: от сервера или от браузера. Просто если от сервера, то я смогу сократить php-файл, потому-что мне не придеться в if'ах писать двадцать раз один и тот же код. А если зависит от браузера, то тогда лучше создам функцию.
etc
Про какие ифы речь?
Куки уходят в заголовке (header), заголовок должен уходить перед контентом, вся примудрость.
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
}
?>
И беспокоюсь за то, что бы у все людей все отображалось нормально.
etc
Цитата(Vadik(R) @ 27:06:2008 - 10:33) *
потому что у меня IE 7.0 или потому что Apache 2 и php 5?
А что говорят в документации?
Цитата(Vadik(R) @ 27:06:2008 - 10:33) *
у меня "какой-то текст" на самом деле очен длинный
Да какая разница какой текст, делайте как указано и проблем не будет.
Вы же даже сабжевую статью не прочитали, там же не ошибка а варнинг, а варнинги можно и отключить, что скажется только на варнинге, а не на результате.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.