Ребят, подскажите!!! У меня так: Код (Text): mysqli_query($db, "insert into users (ref,referer,dat_reg,came) values ('0','$ref','$t','".$_SERVER['HTTP_REFERER']."')"); В данном случае при регистрации пользователя в столбец "came" записывает адрес моего сайта. Мне нужен сайт с которого пришли на мой сайт. Понимаю, что Код (Text): '".$_SERVER['HTTP_REFERER']."' нужно задать url кроме моего (возможно), только вот как это сделать? Или по другому как то??? Помогите, а?
Записывайте в сессию адреса с которых приходят неавторизованные пользователи. И при регистрации извлекайте оттуда.
Я не знаю, как это сделать! А если я сделаю так: Код (Text): if (stripos($url, 'mysite.ru') !== false) '".$_SERVER['HTTP_REFERER']."' это сработает?
Нет. $_SERVER['HTTP_REFERER'] - это адрес предыдущей страницы. Его может и не быть, начнем с этого. А во-вторых, к регистрации, обычно, переходят не сразу. Как минимум, сначала просматривают главную. У вас не так?
Да в сессию пишите реферера, если пользователь не авторизован и $_SERVER['HTTP_REFERER'] не начинается с адреса вашего сайта, из минусов -- на каждого неавторизованного посетителя будет подниматься сессия.
В общем, сделал так: Код (Text): if ( !isset( $_SESSION["origURL"] ) ) $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; Для sql: Код (Text): mysqli_query($db, "insert into users (ref,referer,dat_reg,came) values ('0','$ref','$t','".$_SESSION["origURL"]."')"); Все получилось, но иногда возвращается пустой результат! Подскажите, как сделать, чтоб при пустом результате запись в sql была "не определено" или "no result"
PHP: <?php session_start(); if (!isset($_SESSION["origURL"])) { $_SESSION["origURL"] = 'no result'; } if(isset($_SERVER["HTTP_REFERER"])) { $referer = parse_url($_SERVER["HTTP_REFERER"]); if($referer['host'] != $_SERVER["HTTP_HOST"]) { $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; } } print_r($_SESSION); ?> Должен заметить, что в $_SERVER["HTTP_REFERER"] могут записать вообще что угодно. Как в куки например.
Спасибо огромное. Все отлично работает! А что тогда можно использовать вместо $_SERVER["HTTP_REFERER"] ?
Ничего. Эта штука дело сугубо добровольное, и может произвольно отключаться изменяться и тд. Если вам нужно что-то типа партнерской программы, то назначайте партнерам уникальный id и выдавайте им ссылку с ним в параметрах.