我曾经让 register_globals
开启 ON
(我知道 - 坏坏坏坏极坏)现在我正在改变它,具体应用是我的 DVD 收藏.添加 DVD 会显示一组用于流派/类别(即戏剧、喜剧等)的复选框。每种类型都来自数据库表,因此我可以根据需要添加新类型。这里的问题是它从这个 db 表中的缩写生成它的字段名(复选框名称)。
IE 我会有:
<input type="checkbox" name="drama" />Drama
<input type="checkbox" name="bio" />Biography
(etc)
所以我之前所做的是,使用创建条目的脚本,它会遍历缩写名称列表,如果它与输入匹配 ($_POST['drama'])
, 则表示这张 DVD 属于该类别。
现在的问题是,在关闭全局变量 的情况下,我如何动态收集那些
$_POST 值
?我尝试遍历数据库并吐出一个连接变量,试图以这种格式声明它们:
$drama=$_POST['drama'];
这没有用,因为我把函数和变量混在一起了,结果一团糟。
我希望有人能回答我如何读取 $_POST 数组
并使用它。
最佳答案
给定一些像这样的复选框:
<input type="checkbox" name="genre[]" value="drama" />
<input type="checkbox" name="genre[]" value="comedy" />
<input type="checkbox" name="genre[]" value="mystery" />
你最终会得到 $_POST['genre']
是一个数组。假设勾选了戏剧性和神秘性,你最终会得到
$_POST['genre'] = array(
0 => 'drama',
1 => 'mystery'
);
请记住,未选中的复选框不会随表单一起提交,因此如果您在 $_POST['genre']
中获得一个条目,则它已在表单中被选中。
要检查是否选择了数据库中的类别,您可以执行以下操作
if (in_array('drama', $_POST['genre'])) {
... drama is selected
}
关于php - 从表单访问动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15959236/