Проверка IP в голосовании

jeon

Guest
Проверка IP в голосовании

моя система:
WinXP
PHP5
apache 1.3.12

У меня идея такая - все проголосовавшие IP храняться в тектовом файле. Я их записываю в массив с помощью функции file - $res=file('ipt.txt'); А в переменной у меня лежит не IP, а разные символы вметсо IP. Ну и естественно я их не могу сравнить с новым IP из REMOTE_ADDR. Вот код который у меня получился. Что здесь не так? Подскажите пожайлуста.

PHP:
<?
function CheckUpIP(){
  $ip_addr=$_SERVER['REMOTE_ADDR'];
  $res=file('ipt.txt');
  $i=0;
  $n=0;
  $b=false;
  while ($i<=$n){
    if ($res[$i]===$ip_addr) $b=true;
	$i++;}
  if ($b==false) {
    $f=fopen('ipt.txt','a+');
	fputs($f,"\n".$ip_addr);
	fclose($f);
    return true;}
  else {
    return false;}
}

if (CheckUpIp()==true) echo "fuck granted";
else echo "fuck denied";

?>
 

Фанат

oncle terrible
Команда форума
как ты узнал, что у тебя в переменной разные символы?
 

Chatof

Guest
$ip_addr=getenv('REMOTE_ADDR');
И в сравнении учитывай, что функция file не убирает символы перевода строки!

-~{}~ 16.05.05 12:05:

Да и тем боллее по идее у тебя не должен работать цикл! Переменной $n=count($res);
 
Сверху