[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка данных на совпадение
koala
Написал скрипт проверки ввода данных (почты и пароля), проверка идет хорошо, но вот как сделать так, если ни одного совпадения нету то вывести некую информацию.

Код скрипта:

//Делаем проверку пароля и почты
if (preg_match ("/^[a-z0-9_.-]+@([a-z0-9]+\.)+[a-z]{2,6}$/i", $_POST['email']) && preg_match ("/^[a-zA-Zа-яА-Я0-9]+$/", $_POST['password']))
{
$result = mysql_query ("SELECT `email`, `password` FROM `test`");
$row = mysql_fetch_assoc ($result);

while ($row = mysql_fetch_assoc($result))
{
if ($row['email'] == $_POST['email'] && $row['password'] == $_POST['password'])
{
echo 'Совпадения есть';
exit();
}
else
{
//Тут вывести информацию, если нету совпадений
}
}

}


Тоисть, если в массиве не оказалось того что нужно, то выводим сообщение об этом. Я вот пробовал реализовать через else но тогда будет выводить каждый раз при проверке, тоисть ровно количеству емайлов и паролей =))



Спустя 21 минута, 39 секунд (12.11.2010 - 20:50) koala написал(а):
Решил проблему таким способом, но он мне кажется не очень оптимальным, так как создавать и переопределять переменную придется пока будет работать скрипт =((


Код:

    //Делаем проверку пароля и почты
if (preg_match ("/^[a-z0-9_.-]+@([a-z0-9]+\.)+[a-z]{2,6}$/i", $_POST['email']) && preg_match ("/^[a-zA-Zа-яА-Я0-9]+$/", $_POST['password']))
{
$result = mysql_query ("SELECT `email`, `password` FROM `test`");
$row = mysql_fetch_assoc ($result);

while ($row = mysql_fetch_assoc($result))
{
if ($row['email'] == $_POST['email'] && $row['password'] == $_POST['password'])
{
echo 'Удачно';
exit();
}
else
{
$_POST['autch_while'] = 0;
}
}

if ($_POST['autch_while'] == 0)
{
echo 'Нету совпадений';
unset($_POST['autch_while']);
}
}


Конечно можно без unset(), но мне почему то в голову пришла такая мысль, хотя смысла нету... или есть? =)

Спустя 5 часов, 25 минут, 20 секунд (13.11.2010 - 02:16) Созерцатель ДАО написал(а):
Отрок не нужен тебе цикл вайл - используй в запросе LIKE и потом mysql_num_rows и если оно не нулю равно то будет тебе счастье.Только отрок скрипт твой взломан может легко басурманами злыми ибо в базу ты запрос плохой не подготовленный отправляешь - зри каноны или покарае тебя злой онотолле и озябнит скрипт твой неискусный в холоде безизвестном.

Спустя 12 часов, 42 минуты, 47 секунд (13.11.2010 - 14:59) SlavaFr написал(а):
if(mysql_num_rows(
mysq_query("select 1 from test
where
`email`='"
.mysql_real_escape_string($_POST['email'])."'
and `password`='"
.mysql_real_escape_string($_POST['password'])."' limit 1"))){
echo "da";
}else{ echo "net";}

Спустя 20 минут, 58 секунд (13.11.2010 - 15:19) koala написал(а):
Спасибо, прийду домой - попробую =)


_____________
Vi Veri Veniversum Vivus Vici
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.