Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сохранение referer в cookie - вопрос знающим

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
wondermind
Отправлено: 30 Сентября, 2011 - 16:39:08
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Здравствуйте.

Стоит задача: сохранить реферер в куки. Использую это код:


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. if( isset( $_SERVER['HTTP_REFERER']) && (!$_COOKIE['last_ref'])) {
  3.    SetCookie( 'last_ref', $_SERVER['HTTP_REFERER']);
  4. }
  5.  
  6. ?>



Если за время жизни сессии приходить на целевую страницу из разных источников, то в куки сохраняется - самый первый источник и не перезаписывается каждый раз (что и нужно).

Проблема в том, что кука перезаписывается каждый раз, когда бродишь по собственным страницам сайта ( на каждой странице приведен верхний код), несмотря на условие существования куки с именем "last_ref". Если же запретить запоминать реферер, совпадающий с собственным сайтом, то кука вообще пустая.

Что не так в коде?

Большое спасибо
 
 Top
netoro
Отправлено: 01 Октября, 2011 - 20:20:07
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




wondermind пишет:
Здравствуйте.

Стоит задача: сохранить реферер в куки. Использую это код:


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. if( isset( $_SERVER['HTTP_REFERER']) && (!$_COOKIE['last_ref'])) {
  3.    SetCookie( 'last_ref', $_SERVER['HTTP_REFERER']);
  4. }
  5.  
  6. ?>



Если за время жизни сессии приходить на целевую страницу из разных источников, то в куки сохраняется - самый первый источник и не перезаписывается каждый раз (что и нужно).

Проблема в том, что кука перезаписывается каждый раз, когда бродишь по собственным страницам сайта ( на каждой странице приведен верхний код), несмотря на условие существования куки с именем "last_ref". Если же запретить запоминать реферер, совпадающий с собственным сайтом, то кука вообще пустая.

Что не так в коде?

Большое спасибо


Мой мозг взорвался. Радость

Я хочу уточнить.

Твой сайт www[dot]sajt[dot]ru

на сайте www[dot]bliny[dot]ru кто то кликнул на ссылку на твой сайт и попал на него.
человек пришедший с сайта www[dot]bliny[dot]ru имеет Http_referer www[dot]bliny[dot]ru

Ты хочешь что бы человек этот ходил по твоему сайту и в куках у него было постоянно http_referer www.bliny.ru?
Если так то:
Логика такова ели есть кука с именем 'user_referer' - то ничего не присваивать.
Если ее нет то присвоить ему referer.
Получится два вида кук те кто уже сразу зашел на сайт через URL и те кто кликнул по ссылке где то.

Если очень надо что бы только чужих записать то надо делать проверку что бы существовал referer не твоего домена www[dot]sajt[dot]ru
 
 Top
LIME
Отправлено: 02 Октября, 2011 - 01:45:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




сделайте так
прояснится
PHP:
скопировать код в буфер обмена
  1. <?
  2. echo $_COOKIE['last_ref'].'<br/'>;
  3. echo  $_SERVER['HTTP_REFERER'];
  4. if( isset( $_SERVER['HTTP_REFERER']) && (!$_COOKIE['last_ref'])) {
  5.    SetCookie( 'last_ref', $_SERVER['HTTP_REFERER']);
  6. }
  7.  ?>

(Отредактировано автором: 02 Октября, 2011 - 02:02:09)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB