Forum Webscript.Ru

Программирование => PHP => Тема начата: Bayun от 04 Февраля 2005, 15:57:45

Название: Проверка введеных данных в разные формы одной функцией
Отправлено: Bayun от 04 Февраля 2005, 15:57:45
Есть два скрипта
Один - форма для юзеров для добавлений записи, в которой, к примеру, есть поля field1, field2, field3.
Второй - админка, в которой есть редактирование и предварительная проверка записей, введенных пользователем.
Как правильно объеденить проверку правильности введеных (на заполненность полей и длину текста в них) данных в одну функцию (чтобы не писать для всех форм одину и ту же проверку).
Все нормально, если бы не вторая форма в одминке, с предварительной проверку записей.
Если форма для редатирования и для добавлени выглядет как


то для проверку выглядет так





Для первых двух форм, функция моглы бы выглядеть так:

function check_values($var1, $var2)
{
  if (!isset($_POST[$var1]) || $_POST[$var1] == "") $error[] = "err1";
  elseif (strlen($_POST[$var1]) > 10) $error[] = "err1";
  if (!isset($_POST[$var2]) || $_POST[$var2] == "") $error[] = "err2";
  elseif (strlen($_POST[$var2]) > 50) $error[] = "err2";
  if (isset($error))
    return $error;
  else
    return false;
}

и проверка осуществлялась как if (check_values("field1", "field2")) ...
то так if (check_values("field1[1]", "field2[1]")) ...

Как лучше сделать, чтобы не писать одну и ту же проверку?
Название: Проверка введеных данных в разные формы одной функцией
Отправлено: Макс от 04 Февраля 2005, 16:15:32
а что мешает привести первую форму к виду :


?
Название: Проверка введеных данных в разные формы одной функцией
Отправлено: Bayun от 04 Февраля 2005, 18:36:04
Макс
Что-то я об этом не подумал...
А в функию вместо имени передавать индекс?
Т.е. что-то типа
if (!isset($_POST["field1"][$var]) || $_POST["field1"][$var] == "") $error[] = "err1";
?
Название: Проверка введеных данных в разные формы одной функцией
Отправлено: Макс от 04 Февраля 2005, 19:06:29
да наверное (но это уже дело техники)
+
.... $error[$var] = "err1";
или
.... $error[$var][] = "err1";