PHP обработка формы. Туплю

FaRaOn

Новичок
PHP обработка формы. Туплю

Всем привет. есть форма:
PHP:
print("
<form action=D_S_M_HANDLER.php method=post name=Form".$row[2].">
//выше, как вы видете задаеться имя формы....
<tr class=text><td valign=center align=center>". $row[2]. "</td>");
print("
<td valign=center align=center>
<input class=textinput2 type=text name=sect_name value=". $row[0]. "></td>");
print("
<td valign=center align=center>
<TEXTAREA class=textinput2 NAME=description ROWS=3 COLS=21>". $row[1]. "</textarea>
</td>");
print ("<td valign=center align=center>
<input type=checkbox name=delete class=textinput2>
</td>
<td valign=bottom align=center>
<br><input type=submit class=textinput2></form>");
таких форм может быть неограниченное множество на странице, т.к. они генерируються в зависимости от кол-ва записей в БД...
немогу сообразить как их обрабатывать...
к примеру как мне обработать 1ю форму - Form0,
а именно каким образом мне сохранить поля именно этой формы в БД, а если флаг DELETE поставлен именно в этой форме, то удалить строку с id=0 из таблицы...
 

rob72

Новичок
При отправке формы ее имя не передается, его можно использовать только с помощью клиентских скриптов.
Тебе нужно ввести еще одно поле hidden с id формы (например значение primary autoincrement), и анализировать его
 

FaRaOn

Новичок
ну допустим я сделаю так:
Формы генерируются из строк БД.
Введем в форму невидимое поле:
PHP:
<?php
print("<input type=hidden name=form_id value=".row[2].">");
?>
где [B]row[2][/B]- id строки в БД.
Как отлавливать какая форма сейчас обрабатываеться в D_S_M_HANDLER.php?
Мои мысли:
[php]
<?php
case switch ($_POST['form_id'])
case 0: ...
case 1: ...
...
case n:...
?>
меня смущает то что case n может быть равно case 1000...
Конечно это врятли, их будет 15-20, однако я хочу написать скрипт так, чтобы мне не пришлось при добавлении нового раздела изменять код D_S_M_HANDLER.php
Должен быть какой-то другой ход... я знаю, что я его уже использовал, но блин из головы вылетело. Как и написано в теме ТУПЛЮ до ужаса...
 

Фанат

oncle terrible
Команда форума
а зачем определять, какая форма?
у тебя что - для каждой формы свой код?
нет.
код для всех общий.
вот и выполняй его.

а про кейс забудь вообще. это ненужная конструкция.
особенно, если учесть, что ты его неправильно применяешь
 

rob72

Новичок
Тут трудно сказать что-то, для этого нужно знать конкретно, как все работает. А отбирать можно не только с помощью case, тут и массивы с ключами и... А вообще, мне кажется, что этот самый id прямиком пойдет в другой SQL запрос (в качестве предложения WHERE, напр) , угадал?
Кстати, тогда его неплохо бы проверить на вшивость...
 

FaRaOn

Новичок
вся система такова:
есть таблица

id------NAME---------DESCRIPTION

Каждая строка таблицы соответствует 1й форме
и добавляеться Чекбокс DELETE для удаления строки из БД...
Я не пойму как я определю какую строку я удаляю...в голове каша ужас...
-------------------------------------------------------------------------------------------------------
Вобщем напишите как отличить одну форму от другой зная что у них разные
значения эл-та <input type=hidden name=FORMA value=id_из_БД>...
 

Фанат

oncle terrible
Команда форума
это уж только от тебя зависит.
ты код пишешь. как напишешь - так и будет удалять
 

FaRaOn

Новичок
Фанат,как всегда, прав... Я же писал что Туплю...
Я для интереса сделал вывод данных которые передаються в скрипт D_S_M_HANDLER.php и сильно рассмеялся...
меня переглючило, что если нажать на сабмит одной формы, то все одинаковые формы отправят данные в скрипт и в нем надо отлавливать нужную форму...
не обращайте внимания - перегрелся...тему можно закрыть, а лучше удалить... т.к. тема из себя полезного ничего не представляет...
 
Сверху