Вопрос по Cookies

Тема в разделе "PHP", создана пользователем 1Dreamweaver1, 1 апр 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. 1Dreamweaver1

    1Dreamweaver1

    Регистр.:
    5 янв 2008
    Сообщения:
    417
    Симпатии:
    44
    Здраствуйте.
    Допустим на страницу 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'];
    
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    вывести на странице с помощью javascript, document.cookie
     
  3. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Какой смысл сначала их устанавливать и на той же странице их тянуть?


    PHP:
    setcookie("test"$queryStringtime() + 60 60 24 20);
    ***
    echo 
    $queryString;
    так не прокатит?

    или тебе нужно проверить, ставятся ли куки вообще?
     
  4. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    автор, почитай сорсы класса IPSCookie в IPB 3.x.. там очень даже все хорошо сделано)
     
  5. 1Dreamweaver1

    1Dreamweaver1

    Регистр.:
    5 янв 2008
    Сообщения:
    417
    Симпатии:
    44
    Задача такая:
    В зависимости от того от куда пришел пользователь, показывать тот или иной текст, на той же странице. Затем хранить 20 дней. (то есть, если этот же человек закроет браузер и зтем откроет его через какое то время, то должен показаться тот же текст. )
    1. Если с SE (google, yandex...) попал на страницу index.php то показывать ("Техе1")
    2. Если зашел напрямую index.php ("Техе2")
     
  6. Brevis

    Brevis Создатель

    Регистр.:
    6 окт 2007
    Сообщения:
    16
    Симпатии:
    7
    В этом случае план действий таков:
    1. Проверяем, если ли кука. Если есть -- показываем соответствующее сообщение.
    2. Если куки нет -- определяем откуда пришёл пользователь (смотрим referer), соответственно этому устанавливаем нужную куку на 20 дней и выводим нужное сообщение.
     
  7. 1Dreamweaver1

    1Dreamweaver1

    Регистр.:
    5 янв 2008
    Сообщения:
    417
    Симпатии:
    44
    Cookies отображаются только после рефреша страницы.
    PHP:
    ***
    setcookie("refferer"$_SERVER['HTTP_REFERER'], time() + 60 60 24 20);
    ***
    if(isset(
    $_COOKIE['refferer']))
     {
      echo 
    "Text1";
     } 
     
  8. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Делай проверку реферера вместе с проверкой кук, что-то вроде:
    PHP:
    *** 
    setcookie("refferer"$_SERVER['HTTP_REFERER'], time() + 60 60 24 20); 
    *** 
    if(isset(
    $_COOKIE['refferer']) || $_SERVER['HTTP_REFERER'] == "referer"
     { 
      echo 
    "Text1"
     } 
     
  9. 1Dreamweaver1

    1Dreamweaver1

    Регистр.:
    5 янв 2008
    Сообщения:
    417
    Симпатии:
    44
    Text1 выводит только после рефреша страницы. Как вывесть не делая рефреша?
     
  10. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Стало быть, условия, по которым ставится кука и проверяется реферер, не одинаковые.
     
Статус темы:
Закрыта.