que_bunt
Новичок
Запись HTTP_REFERER только с определенных доменов.
Здраствуйте!
есть такая задача: если пользователь приходит с доменов, записаних в базе, то делаем об этом запись в базе.
у меня поэтому поводу несколько вопросов:
формат представления домена в базе: host.ru
а формат $_SERVER["HTTP_REFERER"] как я понял: http://host.ru/parameters=a&other
соответственно надо со строки "http://host.ru/parameters=a&other" выбрать только host.ru
я пока делаю вот так:
но вот если например рефер будет вида http://www.host.ru то это уже не сработает
или рефер такого вида не приходит?
возможно мне стоит использовать регулярние выражения? если да, то дайте название функции которая бы брала в параметры рег. выражение и строку, а возвращала подстроку которая подходит этому выражению.
а также хотел спросить в чем может быть проблема выше приведенного кода? просто почемуто поле referres которое отвечает за количество посещение з даних доменов ростет само по себе, причем для всех доменов поле содержыт одинаковое число, например 33 или 17 :-(. откуда оно берется без понятия.
Здраствуйте!
есть такая задача: если пользователь приходит с доменов, записаних в базе, то делаем об этом запись в базе.
у меня поэтому поводу несколько вопросов:
формат представления домена в базе: host.ru
а формат $_SERVER["HTTP_REFERER"] как я понял: http://host.ru/parameters=a&other
соответственно надо со строки "http://host.ru/parameters=a&other" выбрать только host.ru
я пока делаю вот так:
PHP:
$referre=$_SERVER["HTTP_REFERER"];
$referre=substr($referre,7,30);//удаляем http://
$n=strrpos($referre,"/");
$referre=substr($referre,0,$n);//удаляем все параметри
if ($referre!=='') {
$sql="SELECT * FROM domains WHERE name='{$referre}'";
$mysql_result=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_array($mysql_result);
$row['referres']=$row['referres']+1;
$sql="UPDATE domains SET referres='{$row['referres']}' where id='{$row['id']}'";
mysql_query($sql) or die(mysql_error());
}
или рефер такого вида не приходит?
возможно мне стоит использовать регулярние выражения? если да, то дайте название функции которая бы брала в параметры рег. выражение и строку, а возвращала подстроку которая подходит этому выражению.
а также хотел спросить в чем может быть проблема выше приведенного кода? просто почемуто поле referres которое отвечает за количество посещение з даних доменов ростет само по себе, причем для всех доменов поле содержыт одинаковое число, например 33 или 17 :-(. откуда оно берется без понятия.
