Хак... Откуда пришел юзер...

242
.
Меня всегда мучал вопрос, откуда же пришел юзер и зарегистрировался на моём сайте...
Руки всё не доходили написать что то подобное и пару дней назад начеркал пару строк...
Начнем...
Добавляем ячейку в таблицу users:
ALTER TABLE `users` ADD `ref_reg` varchar(500) NOT NULL;
Это например в head.php или end.php думаю никакой разницы:
/*если нет такой сессии
 и юзер не авторизован*/
if(!$_SESSION['ref_reg'] && !$user_id){
/*присваиваем переменной
 $а адрес станицы с которой
 пришел юзер*/
$a = htmlspecialchars(getenv("HTTP_REFERER"));
/*это значение присваиваем
 сессии*/
$_SESSION['ref_reg']=$a;
}

далее сама регистрация registration.php
/*после записи в базу, данных
 о новом юзере обновляем
 его ячейку*/
if($_SESSION['ref_reg']){

mysql_query("UPDATE `users` SET
`ref_reg` = '".$_SESSION['ref_reg']."'
WHERE `id` = '" . $usid . "'");
}

ну и в анкету выводим данные:
if($user['ref_reg'])
echo '<li><span class="gray">Откуда:</span> <b>' . $user['ref_reg'] . '</b></li>';

далее можно развить это дело до анализа сайтов с которых пришли и вывести на подобие статистики, пока не делал, но после, хотя бы 300 записей сделаю, и получится целый модуль статистики регистраций...
зы. Это код для 3.2.2 в четвертой ветке думаю нужно только исправить названия переменных ядра...
Пример не показываю думаю всё и так понятно... и какбэ у меня эта инфа для администрации только...
Удачи...
.
точка невозврата
а если нету реферера? если зашел по закладке или набрал адрес по памяти? Такое часто бывает.
.
vermas (29.10.2011/22:26)
а если нету реферера? если зашел по закладке или набрал адрес по памяти? Такое часто бывает.
значит там будет www.вашсайт.домен
.
А если нету, то пиши от верблюда..
.
(\/)____o_O____(\/)
hooligan, рега делается с главной сайта
.
Koenig (31.10.2011/08:10)
hooligan, рега делается с главной сайта
это ты к чему написал вообще?
.
maks-93, пейши есличо...
.
(\/)____o_O____(\/)
hooligan, а вкурил, просто думал ты текущий реф присваиваешь, а так он при переходе на регистрацию был бы равным $home
Всего: 8