HTTP_REFERER и eregi

WMix

герр M:)ller
Партнер клуба
HTTP_REFERER и eregi

PHP:
$referer=getenv("HTTP_REFERER");
echo $referer;??
if (!eregi("^http://www.domen.ru",$referer) || !eregi("^http://domen.ru",$referer))
echo "error";
else
echo "ok";
выходит всегда error
где собака порылась???
 

Nikolas

Guest
у тебя не правильно написано echo
нужно так :
echo "$referer";
 

Larson

Новичок
2 Nicolas: все правильно написано.
2 WMix: У тебя условие в ифе неправильное - поставь and вместо or
 

tony2001

TeaM PHPClub
Nikolas:
перед тем, как писать в форум, надо думать.
что за знаки вопроса там у него - неизвестно, но насчет "надо" - ты неправ.

Wmix:
вдумайся в логику кода:
если текст не подходит под шаблон 1 ИЛИ текст не подходит под шаблон 2, то ошибка.
это ИЛИ становится причиной того, что условие никогда не будет true - текст у тебя не может подходить под два шаблона одновременно.
 

WMix

герр M:)ller
Партнер клуба
если ты о вопросах ты прав //echo $referer;??
если о кавычках то нет
 

Demiurg

Guest
Nikolas, не надо пороть чушь.

WMix
1. думай над логическими выражениями
2. не надо использовать регулярные выражения там, где они не нужны, тем более ereg
 

Nikolas

Guest
Приношу извинения, не сразу заметил, то о чем он спрашивал, просто код заработал после того как я и справил эту строку, а то что он error в коде сам пишет не разглядел...
Впредь буду повнимательнее
 

WMix

герр M:)ller
Партнер клуба
PHP:
$referer=getenv("HTTP_REFERER"); 
echo $referer;?? 
if (eregi("^http://www.domen.ru",$referer) || eregi("^http://domen.ru",$referer)) 
echo "ok";
else 
echo "error";
c && в if тоже не пошло но я изменил так всё работает
спасибо

а это
if (!eregi("^http://www.domen.ru",$referer) || !eregi("^http://domen.ru",$referer))
echo "error";
в натуре прогнал
 

WMix

герр M:)ller
Партнер клуба
2Georgy
-----------------------------------------------------------
str_str($referer,'http://'.$domain)

AND Demiurg

2. не надо использовать регулярные выражения там, где они не нужны, тем более ereg
-----------------------------------------------------------

а почему??
 

WMix

герр M:)ller
Партнер клуба
str_str($referer,'http://'.$domain) || str_str($referer,'http://www'.$domain))

под это подойдёт и
http://www.pupkin.com/site.php?4dumm_program_http://domain.ru

у меня стоит "^http//...
 

Demiurg

Guest
strncmp($referer , 'http://'.$domain , strlen('http://'.$domain))

ps под твой пример подойдет http://wwwsdomain.ru
 

Georgy

Guest
PHP:
$referer=getenv("HTTP_REFERER"); 
$domain[0]='http://domain.ru'; 
$domain[1]='http://www.domain.ru'; 
  if ($domain[0] == substr($referer,0,strlen($domain[0])) || $domain[1] == substr($referer,0,strlen($domain[1]))) { 
    print 'OK'; 
  } 
  else { 
    print 'BAD DOMAIN'; 
  }
--- вот тебе пожалуйста, без экспов и точно будет проверять
 
Сверху