0
有没有更好的方式来处理表单,我需要保存link
和link text
针对语言和公司?更好的方式处理多个表单域
下面的例子工作,但我认为这是艰苦的工作。
我已经将语言和公司ID添加到链接和链接文本字段的关键字中,以将它们分组在一起并将其他信息传递到PHP和数据库。
$newlinks = array();
foreach($_POST as $post_key => $post_value) {
if (substr($post_key, 0, 7) == 'newlink') {
$posted_link = explode('_', $post_key);
$newlinks[$posted_link[1]][$posted_link[2]][$posted_link[0]] = $post_value;
$newlinks[$posted_link[1]][$posted_link[2]]['language_id'] = $posted_link[1];
$newlinks[$posted_link[1]][$posted_link[2]]['company_id'] = $posted_link[2];
}
}
foreach($newlinks as $newlinklang) {
foreach($newlinklang as $newlink) {
if ($newlink['newlink'] != '' && $newlink['newlinkname'] != '') {
$sql = "
INSERT
INTO
".$db_prefix."catalogue_links (
link,
link_name,
language_id,
company_id
) VALUES (
'".$newlink['newlink']."',
'".$newlink['newlinkname']."',
'".$newlink['language_id']."',
'".$newlink['company_id']."'
";
}
}
}
和HTML
<input type="text" name="newlink_1_1" value="" />
<input type="text" name="newlinkname_1_1" value="" />
可以有多个语言和公司在一个页面上显示。
请注意,请务必清理这些输入!你的SQL语句让我感到畏缩。使用http://php.net/manual/en/function.mysql-real-escape-string.php或使用预准备的语句。 – nategood 2011-01-22 22:28:40
感谢@nategood,简化了SO的代码,我从帖子键和值中删除了我的清理。 – 2011-01-22 22:57:54