Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Http_referer, подскажите как лучше сделать. (https://forum.antichat.xyz/showthread.php?t=78741)

lmns 28.07.2008 14:29

Http_referer, подскажите как лучше сделать.
 
В общем дела такие, есть у меня сайт, вполне прилично раскручен и т.д.
90% посетителей люди с поисковиков, вначале попадают на главную страницу. Сайт продаёт некий товар. На одной из последних страниц есть форма обратной связи и мне на почту приходит не только то что написал заказчик, но и IP, и ещё кое-что.
Меня уже давно интересует с каких страниц люди попадают на мой сайт. Самый простой выход использовать HTTP_REFERER. Но если я его вписываю на страницу обратной связи, то получаю свою собственную страницу, а не ту с которой пришёл покупатель.

Можно конечно на главной странице разместить
что-нибудь из этой серии

$H=getenv("HTTP_REFERER");
$f=fopen("log.txt",'a');
flock ($f,2);
fwrite($f,"$H\n");
fclose($f);

но тогда я буду иметь охренительный txt файл со всеми посетителями, и вручную по совпадению IP потом всё искать, а оно мне не надо.
меня интересуют только заказчики, а не "туристы".

К тому же это лишняя нагрузка на сервак, а он у меня в "банановой республике" на 10 мегабитном канале, ему и так нелегко.

По нормальному это можно воплотить в жизнь?

bul.666 28.07.2008 16:46

Цитата:

есть форма обратной связи и мне на почту приходит не только то что написал заказчик, но и IP, и ещё кое-что.
Если есть форма обратной свзяи, значит это скирпт. А в скрипт мона прикрутить и рефералку. Например:
$H=getenv("HTTP_REFERER");
....
Тут код формы
...
$body="ТУТ НАПРИМЕР ТЕКСТ СООБЩЕНИЯ ОТ ПОЛЬЗОВАТЕЛЬЯ \r\n REF=".$H;
В итоге к тебе на мыло должно придти
ОТ: ....
Сообщение:
Текст
REF=http://site/page

Но это тока мысли =)
Конечно мона каждый раз рефер писать в куки, чтоб не было лагов типа в реферале этажа страница... ну короче хз хз хз хз хз хз

0x22b 28.07.2008 16:55

А можно еще и так сделать:
1. на главной запускаеш сессию, создаеш переменную сессии, в нее записываеш ссыль с которой пришел пользователь, затем если пользователь дошел до формы заказа то соответсвенно и содержимое переменной сессии отправляется тебе, а если нет, то на нет и суда нет.. Все просто.

2.перенесите тему в раздел с Php программингом.. :)

lmns 29.07.2008 12:09

если это $H=getenv("HTTP_REFERER") написать на странице формы обратной связи, то получая свою страницу.

0x22b, а как делать сесии с главной, не делая записей в промежуточный файл?

0x22b 29.07.2008 13:09

На главной пишеш в самом начале PHP кода:
<?php
session_start();
$_SESSION['reflink'] = $_SERVER['HTTP_REFERER'];
...
тут все твое..
?>

что мы сделали? мы запустили сессию и присвоили переменной сессии значение ссылки с которой перешел пользователь. Суть сессий в том что, значения их переменных может передаваться от скрипта к скрипту..
теперь на странице с формами обратной связи пишеш следующее:
<?php
session_start();
и дальше после этой строки кода, можеш получать доступ к уже созданной давно переменной сессии: $_SESSION['reflink'], и значение в ней будет то самой что записалось в нее с главной. а далее уже можеш писать инфу в БД.
для удобного использования присваиваеш какой нибудь переменной и все:
$referer = $_SESSION['reflink'];
и уже можеш писать в базу или куда заблагорассудиться.. надеюсь объяснил все доходчиво..

lmns 29.07.2008 14:17

Ок, спасибо просто не знал этой фени, сегодня попробую ближе к ночи, сейчас трафф большой.
Последний глупый вопрос, значения сессий не перемешаются, если на сайт пришёл второй чел, а первый не дошёл ещё до формы обратной связи?
Т.е. одновременно штук 50-100 может существовать?

z01b 29.07.2008 14:36

Цитата:

Сообщение от lmns
Ок, спасибо просто не знал этой фени, сегодня попробую ближе к ночи, сейчас трафф большой.
Последний глупый вопрос, значения сессий не перемешаются, если на сайт пришёл второй чел, а первый не дошёл ещё до формы обратной связи?
Т.е. одновременно штук 50-100 может существовать?

естественно =)

0x22b 29.07.2008 14:45

Конечно можно и 50 и 100, для каждого юзера, свое значение..

lmns 30.07.2008 11:01

При добавлении на главную страницу
<?php
session_start();
$_SESSION['reflink'] = $_SERVER['HTTP_REFERER'];
?>
выдаёт
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

Что не так?


Время: 21:57