Вопрос по Cookies

Статус
В этой теме нельзя размещать новые ответы.

1Dreamweaver1

Профессор
Регистрация
4 Янв 2008
Сообщения
417
Реакции
45
Здраствуйте.
Допустим на страницу index.php пришли с поисковика. Нужно отобразить на этой странице(index.php) cookies. Cookies отображаются только после рефреша страницы. Либо отображаются, если прописываю header('Location:...)
Каким способом можно отобразить cookies не используя header('Location) ?
На странице index.php устанавливаю сookies
Код:
setcookie("test", $queryString, time() + 60 * 60 * 24 * 20);
***
echo $_COOKIE['test'];
 
Каким способом можно отобразить cookies не используя header('Location) ?
вывести на странице с помощью javascript, document.cookie
 
Какой смысл сначала их устанавливать и на той же странице их тянуть?


PHP:
setcookie("test", $queryString, time() + 60 * 60 * 24 * 20);
***
echo $queryString;

так не прокатит?

или тебе нужно проверить, ставятся ли куки вообще?
 
автор, почитай сорсы класса IPSCookie в IPB 3.x.. там очень даже все хорошо сделано)
 
Задача такая:
В зависимости от того от куда пришел пользователь, показывать тот или иной текст, на той же странице. Затем хранить 20 дней. (то есть, если этот же человек закроет браузер и зтем откроет его через какое то время, то должен показаться тот же текст. )
1. Если с SE (google, yandex...) попал на страницу index.php то показывать ("Техе1")
2. Если зашел напрямую index.php ("Техе2")
 
Задача такая:
В зависимости от того от куда пришел пользователь, показывать тот или иной текс, на той же странице. Затем хранить 20 дней. (то есть, если этот же человек закроет браузер и зтем откроет его через какое то время, то должен показаться тот же текст. )
1. Если с SE (google, yandex...) попал на страницу index.php то показывать ("Техе1")
2. Если зашел напрямую index.php ("Техе2")

В этом случае план действий таков:
1. Проверяем, если ли кука. Если есть -- показываем соответствующее сообщение.
2. Если куки нет -- определяем откуда пришёл пользователь (смотрим referer), соответственно этому устанавливаем нужную куку на 20 дней и выводим нужное сообщение.
 
Cookies отображаются только после рефреша страницы.
PHP:
***
setcookie("refferer", $_SERVER['HTTP_REFERER'], time() + 60 * 60 * 24 * 20);
***
if(isset($_COOKIE['refferer']))
 {
  echo "Text1";
 }
 
Делай проверку реферера вместе с проверкой кук, что-то вроде:
PHP:
*** 
setcookie("refferer", $_SERVER['HTTP_REFERER'], time() + 60 * 60 * 24 * 20); 
*** 
if(isset($_COOKIE['refferer']) || $_SERVER['HTTP_REFERER'] == "referer") 
 { 
  echo "Text1"; 
 }
 
PHP:
*** 
setcookie("refferer", $_SERVER['HTTP_REFERER'], time() + 60 * 60 * 24 * 20); 
*** 
if(isset($_COOKIE['refferer']) || $_SERVER['HTTP_REFERER'] == "referer") 
 { 
  echo "Text1"; 
 }
Text1 выводит только после рефреша страницы. Как вывесть не делая рефреша?
 
Стало быть, условия, по которым ставится кука и проверяется реферер, не одинаковые.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху