|
|
|
| Всем привет!
Попалась какая то книга по php5 –
Там был момент проверки формы через МАССИВ ОШИБОК.
Я решил попробовать данный «МАССИВ ОШИБОК» на практике, дабы определить удобство.
Все работает, но криво! : )
Например, если форма состоит из 2х и более полей – то, проверка их, скажем, на «ПУСТОТУ» выдает частичный результат..
В данном примере если начать заполнять поле textarea и после нажать submit – то он отправляет форму – обработчику, хотя должен тормозить на втором, пустом.. : (
У кого есть мысли на сей счет, просьба поделиться, почему так происходит????
Просто дико интересно, почему так, а не по нормальному.. может результат массива – 0 - 1..2..3
Вообщем, заранее благодарен за пояснения этого ребуса!
if ($_POST['sub'])
{
if ($errors = validate_form( ))
{
form($errors);
} else {
………………. ДАЛЬНЕЙШЕЕ ВЫПОЛНЕНИЕ СКРИПТА ………
} } else
{
form( );
}
++++++++++++++++++++++++++++++++++++
ПРОВЕРКА ДАННЫХ ПЕРЕДАНЫХ ФОРМОЙ.. validate_form( )
function validate_form( )
{
$errors = array( );
if (empty($_GET['content']))
{
$errors[] = "Вы не заполнили поле CONTENT";
}
if (empty($_GET['zag']))
{
$errors[] = "Вы не заполнили поле ZAG";
}
return $errors;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++
ВЫВОД ФОРМЫ С ОШИБКОЙ…
function form($errors = '')
{
if ($errors)
{
print '<font color =red >ошибка ...: </font><ul><li>';
print implode('</li><li>', $errors);
print '</li></ul>';
}
print "
<table>
<tr><td><form method=\"GET\"></td></tr>
<tr><td bgcolor=\"Gray\">заголовок</td><td><input type=\"text\" name=\"zag\"></td></tr>
<tr><td bgcolor=\"Lime\">новость</td><td><textarea name=\"content\" cols=\"40\" rows=\"10\"></textarea></td></tr>
<tr><td><input type=\"submit\" name=\"sub\" value=\"Выполнить\"></td></tr>
</form></table> ";
}
|
| |
|
|
|
|
|
|
|
для: Denandi
(29.09.2008 в 17:13)
| |
<?php
$err='';
if(empty($_POST['var']))
{
$err.='Поле пусто!';
}
//и тд
If(empty($err))
{
print $err;
}
if(!empty($err))
{
print 'бла бла бла';
}
?>
|
ИМХО то же самое но проще) | |
|
|
|