Просмотр полной версии : Куки не записываются
Здравствуйте! Подскажите, пожалуйста, почему так куки не записываются?
if(isset($_COOKIE["name"])){
echo "Куки есть!";
}else{
include 'index.php';
setcookie("name", "value", time()+3600, "/", "domain", 1);
echo "<META HTTP-EQUIV='REFRESH' CONTENT='20; URL=page.html'>";
}
Sonya, у вас SSL подключен?
Да, поэтому и ставлю флаг 1.
Nexus, index.php в браузер что-нибудь выводит?
Сейчас, вроде записалось, я думаю include не может, как-то влиять, потому что до этого, пробовала несколько раз, но не срабатывала либо функция if(isset($_COOKIE["name"])), либо не записывались куки, посему-то подумала на последнее.
Nexus, index.php в браузер что-нибудь выводит?
Да.
Sonya, http://php.net/manual/ru/function.setcookie.php
setcookie() задает cookie, которое будет передано клиенту вместе с другими HTTP заголовками. Как и любой другой заголовок, cookie должны передаваться до того как будут выведены какие-либо другие данные скрипта (это ограничение протокола). Это значит, что в скрипте вызовы этой функции должны располагаться прежде остального вывода, включая вывод тэгов <html> и <head>, а также пустые строки и пробельные символы.
Как запись сессии. Спасибо, хотя почему-то иногда записывает. А если я в файле index.php, которое инклюжу, запишу в самом начале, так будет записывать?
А если я в файле index.php, которое инклюжу, запишу в самом начале, так будет записывать?
Странное подключение однако. Индексный файл, это собственно вход, в таком случае что за файл в котором проверка куки и как он запрашивается? Почему в самом индексном файле не проверять/устанавливать куки?
Или include, как вставка на странице будет принимать все теги этой страницы до include, и, соответственно, не будет писать?
laimas, index.php, это для примера, пусть будет page.php.
Куки не установятся только по двум причинам: отключены на клиенте и до их установки был вывод в браузер. Если у вас проблемы с установкой, значит ищите проблемы в подключаемом файле, в нем есть либо явный, либо неконтролируемый вывод. В подключаем файле содержащем только РНР код не используйте закрывающий РНР тег, иначе возможные пустые строки после него и будут выведены в браузер. Проверьте все.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot