| |
|
|
| | подскажите почему цыкл идет не до конца файла , а проверяет только первый эллемент ???
$new=$_POST['mail'];
$file = fopen("mail.dat","r");
if(!file)
{
echo("ошибка открытия файла ");
}
$file = file ('mail.dat');
$name = $new;
for ($i=0; $i<count($file); $i++)
{
if (trim($file[$i]) == $name)
{
print "Простите,но на этот почтовый ящик уже зарегистрован пользователь ";
break;
}
else
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=go.php?z=$_POST[mail]&z1=$_POST[name1]&z2=$_POST[password]'>
</HEAD></HTML>";
}
}
}
}
Ну короче , он проверяет только первую позицию масива файла mail.dat , а дальше выполняется условие else !!!
почему ??? | |
| |
|
|
| |
|
|
| |
для: dima2207
(21.02.2007 в 01:03)
| | | Потому если условие trim($file[$i]) == $name не выполняется срабатывает else-блок с переадресацией. PHP является интерпретатором, поэтому он сразу выполняет оператор echo не дожидаясь, когда выполниться цикл, а бразуер перебрасывает пользователя на другую страницу. | |
| |
|
|
| |
|
|
| |
для: cheops
(21.02.2007 в 01:13)
| | | а как-же мне закончить цыкл до конца ? и если нет совпадений то выполнять блок else !!!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(21.02.2007 в 01:17)
| | | Вынесите содержимое блока else за пределы цикла. | |
| |
|
|
| |
|
|
| |
для: dima2207
(21.02.2007 в 01:17)
| | | А если я буду записывать в файл флаг выполнения цыкла , а потом на другой странице проверять значение флага , короче как интерпретатор отреагирует на функцию записи ? | |
| |
|
|
| |
|
|
| |
для: dima2207
(21.02.2007 в 01:37)
| | | вы имеете ввиду это :
$new=$_POST['mail'];
$file = fopen("mail.dat","r");
if(!file)
{
echo("ошибка открытия файла ");
}
$file = file ('mail.dat');
$name = $new;
for ($i=0; $i<count($file); $i++)
{
if (trim($file[$i]) == $name)
{
print "Простите,но на этот почтовый ящик уже зарегистрован пользователь ";
break;
}
}
}
}
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=go.php?z=$_POST[mail]&z1=$_POST[name1]&z2=$_POST[password]'>
</HEAD></HTML>";
Да , но тогда у меня полюбому будет редирект , а мне надо что-бы в случае если весь массив проверен и там нет совпадений !!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(21.02.2007 в 01:42)
| | | Используйте следующий код
<?php
$new=$_POST['mail'];
$file = fopen("mail.dat","r");
if(!file)
{
echo("ошибка открытия файла ");
}
$file = file ('mail.dat');
$name = $new;
$flag = true;
for ($i=0; $i<count($file); $i++)
{
if (trim($file[$i]) == $name)
{
print "Простите,но на этот почтовый ящик уже зарегистрован пользователь ";
$flag = false;
break;
}
}
if($flag)
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=go.php?z=$_POST[mail]&z1=$_POST[name1]&z2=$_POST[password]'>
</HEAD></HTML>";
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(21.02.2007 в 01:47)
| | | Ну класс , спасибо !!! | |
| |
|
|