【发布时间】:2011-02-06 11:58:18
【问题描述】:
我的任务是设计一个具有 mysql 后端的自定义表单管理器。
设置完所有前端后,我现在遇到的问题是如何处理一个动态的表单。
对于 E.G
表格一可以在输入标签中包含 6 个字段,所有字段都具有不同的名称属性。 表格二可以包含 20 个字段,在输入标签中都有不同的名称属性。
如何在不消耗大量资源的情况下处理表单。
最终答案
基于 Arda Xi 接受的回答
function processForm($form_id) {
$rows = "";
$values = "";
foreach($_POST as $key => $value) {
$rows = mysql_real_escape_string($key);
$values = mysql_real_escape_string($value);
$entry .= "[".$rows . "::".$values."]";
}
// clean up the array
$entry = preg_replace('/^\[|\d+|\:\:\]/', '', $entry);
$query = mysql_query("INSERT INTO `forms_form_data` (`id`, `form_id`, `entry`, `manager_id`, `status`, `created_at`) VALUES (NULL, '".$form_id."', '".$entry."', '".$_SESSION['manager_id']."', '0', NOW())");
}
【问题讨论】:
-
我正在查看您使用的那个正则表达式,但我不确定它是否能满足您的要求。如果字符串以它开头,它将删除 [,删除所有数字或仅删除
::]。对吗?