проблема в цикле

faryus

Новичок
проблема в цикле

вот сам скрипт
function test_u($user){
$file="rusers.!!!";
$data=file($file);
$all=count($data);
for($i=0;$i<$all;$i++){
list($login,$password)=split("\|",$data[$i]);
$a=false;
if($user=="$login"){$a=true;}
if($a) return true;
else return false;
}
}

if(!test_u($login)) {
echo"Вы успешно добавлены в нашу базу ";}
else{echo"Пользователь с таким логином уже существует !! ";}

тоисть в фале юзеры и пароли !
из фала считывает только перую строчку !!!
 

Krisha

pain in the neck
faryus
Для того, чтобы не путаться в трех соснах нужно как минимум оформлять нормально код, чтобы его можно было легко читать.

У тебя разделител "\|" в файле используется ???

И наконец, если тебе нужно проверить есть ли юзер с таким логином в файле, то логично идти по массиву $data до тех пор, пока такого не найдешь:

PHP:
<?

$file = "rusers.!!!";

function checkUserExists($filename, $login, $delimiter="|") {
  $data = file($filename);
  $all  = count($data);

  for ($i=0; $i<$all; $i++) {
    $curUser = explode($delimiter, trim($data[$i]));
    if ($login == $curUser[0]) {
       return true;
    }
  }
  return false;
}

if (checkUserExists($file, $login)) {
   echo "User ".$login." already exists!";
}
else {
   echo "All ok!";
}

?>
 

Winer

Мимо проходил
и ведь действительно, REG_EMPTY и в одинарных кавычках и в обычных - магический символ трубопровода
 

faryus

Новичок
прочто ошибка !
я попробовал этот же скрипт без функции он мне юзеров показывает вот так
adminfaryuskasper
 

Winer

Мимо проходил
Krisha
про '|' и "|" со split, хотя есть вероятность что я что-то не так делаю.

-~{}~ 12.05.04 20:03:

faryus
так и пишет "Just error" ???
 

faryus

Новичок
Щас попробую заменить на эксплод !!!!


нет Виннер он просто пучтой жкран тебе даст !
 

Krisha

pain in the neck
Winer
А, я понял, при spil он выдаст:
Warning: split(): REG_EMPTY: |empty (sub)expression in...

А я думал он при explode ошибку выдает...

faryus
Включи отображение ошибок.
 

faryus

Новичок
ща попробую


а у меня ведь там не тока база юзеров там ведь ещё и пароли пишетса так
admin|kukuku
faryus|myau
ktoto|chtoto
....
 

faryus

Новичок
Извини страдаю безмануальщиной !!!

-~{}~ 12.05.04 20:17:

и вообщето мой скрипт ошибок не даёт ! он всех подрят впихивает в базу
а вот с экранированием ошибка будет точно
 

Winer

Мимо проходил
Krisha
я думал split - обычная строковая функция, оказываеться необычная, с RegExp'ами
 

faryus

Новичок
и эксплоде и сплит попробовал всё равно тока первую строчку читает
 
Сверху