[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Много-много input из form
AntonMMF
Есть PHP-код

if (isset($_REQUEST['input1'])) {
echo "Данные введены";
}
elseif (!isset($_REQUEST['input1'])) {
echo "
<form action='#' name='form1'>
<input type='text' name='input1' value='' >
<input type='submit' value='Отправить' />
</form>
"
;
}


Суть кода ясна: если есть отправленные данные из формы, то отобразить текст. Вопрос: а как быть, есть тегов input несколько десятков? Ведь не писать же каждый раз isset($_REQUEST['inputN'] в условии. Пробовал прописать isset($_REQUEST['form1'] - не помогает. Как быть в такой ситуации?



Спустя 52 минуты, 10 секунд (15.08.2010 - 16:46) waldicom написал(а):
Врзникло несколько вропсов/предложений:

1. Вам не кажется, что запись
if(isset(a)){
blabla
}else if(!isset(a)){
blublu
}

несколько странновата?

Цитата
2. Ведь не писать же каждый раз isset($_REQUEST['inputN'] в условии

а что делать... Тяжела и неказиста жЫсть простого программиста.

Спустя 10 минут, 55 секунд (15.08.2010 - 16:57) AntonMMF написал(а):
Цитата (waldicom @ 15.08.2010 - 13:46)
Врзникло несколько вропсов/предложений:

1. Вам не кажется, что запись
if(isset(a)){
blabla
}else if(!isset(a)){
blublu
}

несколько странновата?

Цитата
2. Ведь не писать же каждый раз isset($_REQUEST['inputN'] в условии

а что делать... Тяжела и неказиста жЫсть простого программиста.

1) А что в этом странного? Проверка по условию, если а существует, то делаем то-то, иначе если а не существует, то делаем иначе.
2) Просто боюсь, что выглядеть это дело будет как гомнокод...

Спустя 3 минуты, 48 секунд (15.08.2010 - 17:01) waldicom написал(а):
Цитата (AntonMMF @ 15.08.2010 - 15:57)
1) А что в этом странного? Проверка по условию, если а существует, то делаем то-то, иначе если а не существует, то делаем иначе.

Представьте себе ситуацию: у вас может быть яблоко в руках. Итак: если яблоко есть, едим его, ИНАЧЕ не идим. Третьего не дано. Т.е. проверка
elseif(isset(a)) 

не имеет смысла, потому что оно уже точно не isset (мы же это уже проверили).
Но это так, мысли вслух, к вопросу отношения не много имеющие.

Цитата (AntonMMF @ 15.08.2010 - 15:57)
2) Просто боюсь, что выглядеть это дело будет как гомнокод...

Вынесите в отдельный класс/функцию, которая будет проверять параметры и отдавать назад true/false в простом случае или массив с полями не прошедшими проверку в более навороченном случае.

Спустя 2 часа, 31 минута, 15 секунд (15.08.2010 - 19:32) FatCat написал(а):
Предлагаю начать с массива полей, которые мы требуем ввести пользователю.
$requests = array(
'fam' => 'фамилия',
'nam' => 'Имя',
'snam' => 'Отчество',
'login' => 'Логин',
'pwd' => 'Пароль',
);

Дальше разбор присланного пользователем. Заполненное сохраняем в скрытых инпутах, незаполненное отдаем полями ввода:
echo "<form action='#' name='form1' method='post'>";
$no_inp = 0; // Счетчик незаполненных
foreach($requests as $k=>$v)
{
if($_POST[$k] != $v) // Это поле заполнено
{
echo '<input type="hidden" name="'.$k.'" value="'.$_POST[$k].'">';
}
else
{
echo $v.': <input type="text" name="'.$k.'"><br>';
$no_inp++;
}
if($no_inp) // Если есть поля для заполнения, рисуем кнопку сабмита:
echo "<input type='submit' value='Отправить' />";
}
echo "</form>";
if(!$no_inp) // Все поля заполнены
{
// Действие когда всё заполнено успешно.
}

Спустя 4 часа, 6 минут, 4 секунды (15.08.2010 - 23:38) waldicom написал(а):
Цитата (FatCat @ 15.08.2010 - 18:32)
Предлагаю начать с массива полей, которые мы требуем ввести пользователю.

Интересный подход, есть своя изюминка.
Правда к сожалению такой подход плохо подходит там , где логика отделяется от представления.


_____________
Работаю на репутацию (не только на карму, которая в профиле).
Быстрый ответ:

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