Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Заморский ребус!
 
 автор: Denandi   (29.09.2008 в 17:13)   письмо автору
 
 

Всем привет!
Попалась какая то книга по 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> ";
}

  Ответить  
 
 автор: nek-v   (29.09.2008 в 22:22)   письмо автору
 
   для: Denandi   (29.09.2008 в 17:13)
 

<?php
$err
='';
if(empty(
$_POST['var']))
{
   
$err.='Поле пусто!';
}
//и тд
If(empty($err))
{
   print 
$err;
}

if(!empty(
$err))
{
   print 
'бла бла бла';
}

?>


ИМХО то же самое но проще)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования