Автор Тема: Проверка введеных данных в разные формы одной функцией  (Прочитано 2791 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Bayun

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть два скрипта
Один - форма для юзеров для добавлений записи, в которой, к примеру, есть поля 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]")) ...

Как лучше сделать, чтобы не писать одну и ту же проверку?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
а что мешает привести первую форму к виду :


?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Bayun

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Макс
Что-то я об этом не подумал...
А в функию вместо имени передавать индекс?
Т.е. что-то типа
if (!isset($_POST["field1"][$var]) || $_POST["field1"][$var] == ""$error[] = "err1";
?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
да наверное (но это уже дело техники)
+
.... $error[$var] = "err1";
или
.... $error[$var][] = "err1";
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28