Перехват всех полей формы на php

Статус
В этой теме нельзя размещать новые ответы.

morgan_spb

Постоялец
Регистрация
15 Сен 2006
Сообщения
55
Реакции
1
задумался над такой штукой

имеем форму

она генерится выдергивая из базы строку таблицы

допустим

<form>
<input type hidden name="content_id" value=" 12">
<input type text ... что то там name="имя поля " value="значение поля">
<input type text ... что то там name="имя поля2 " value="значение поля2">
<input type text ... что то там name="имя поля3 " value="значение поля3">
<input type text ... что то там name="имя поля4" value="значение поля4">

<submit>
</form>



после нажатия на сабмит система должна взять этот набор полей и обновить его в базе

$query = "
REPLACE INTO
".$table."
VALUES
('$contentid',
'$active',

а вот сюда я хочу вывести весь набор значений которые были в форме



)";


как бы это сделать?



где-то видел такой код, но не знаю как его прикрутить

$keys = array();
$values = array();

while (list($key, $value) = each($module))
{
$keys[] = $key;
$values[] = $value;
}

$query = "INSERT INTO ".$table['tbl_modules']." (";
$query .= implode(", ", $keys);
$query .= ") VALUES ('";
$query .= implode("', '", $values);
$query .= "')";
 
В данном случае все данные, переданные скрипту, содержаться в массиве $_GET.
Соответственно, для перебора этих значений можно написать так:

foreach($_GET as $key => $value)
{
// $key - имя поля
// $value - его значение
}

И в цикле уже используешь значения так как тебе это нужно. Непонятно только зачем это нужно - ведь в таблице все равно фиксированное число столбцов.
 
morgan_spb написал(а):
задумался над такой штукой

имеем форму

она генерится выдергивая из базы строку таблицы

допустим

<form>
<input type hidden name="content_id" value=" 12">
<input type text ... что то там name="имя поля " value="значение поля">
<input type text ... что то там name="имя поля2 " value="значение поля2">
<input type text ... что то там name="имя поля3 " value="значение поля3">
<input type text ... что то там name="имя поля4" value="значение поля4">

<submit>
</form>



после нажатия на сабмит система должна взять этот набор полей и обновить его в базе

$query = "
REPLACE INTO
".$table."
VALUES
('$contentid',
'$active',

а вот сюда я хочу вывести весь набор значений которые были в форме



)";


как бы это сделать?



где-то видел такой код, но не знаю как его прикрутить

$keys = array();
$values = array();

while (list($key, $value) = each($module))
{
$keys[] = $key;
$values[] = $value;
}

$query = "INSERT INTO ".$table['tbl_modules']." (";
$query .= implode(", ", $keys);
$query .= ") VALUES ('";
$query .= implode("', '", $values);
$query .= "')";
нашел решение
пока юзаю его

<?php
mysql_connect("localhost","root","");
$db="blogs";
$table="notes";
mysql_select_db($db);
$field_names = array();
//Отсюда можно убрать, если в $field_names вручную занести имена полей
$res = mysql_query("SHOW COLUMNS FROM `$table`");
for($i=0;$i<mysql_num_rows($res);$i++){
array_push($field_names,mysql_result($res, $i));
}
//И до сюда
foreach($field_names as $v){
$int.="`$v`,";
if(!empty($_POST[$v]))
$val.="'$_POST[$v]',";
else
$val.="'',";
}
$query="INSERT INTO $table(".substr($int,0,-1).") VALUES(".substr($val,0,-1).");";
echo $query;
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху