如果我这样说:无效
<?php
if($_POST['send']=="ok")
{
print $_POST['opt']['nombre']
}
?>
<form action="" method="post" style="margin:0px;">
<input type="text" name="opt['nombre']" value="Hello" />
<input type="hidden" name="send" value="ok">
</form>
如果我这样说:作品
<?php
if($_POST['send']=="ok")
{
print $_POST['opt']['nombre']
}
?>
<form action="" method="post" style="margin:0px;">
<input type="text" name="opt[nombre]" value="Hello" />
<input type="hidden" name="send" value="ok">
</form>
为什么要发生此变化,所以它是opt ['nombre']到opt [nombre]的输入文件中唯一的更改
我不明白为什么会这样,有可能解决这个问题,因为我想放opt ['nombre'],我认为这是正确的
当结果有效时,我得到的是“你好”,但只能将标签内的该符号更改为[],由[]
发送邮寄表格时有区别,没有工作:
发送表格,不要打招呼
<input type="text" name="opt['nombre']" value="Hello" />
发送表格并获取帮助
<input type="text" name="opt[nombre]" value="Hello" />
内部差异输入[]表示为2,或者不要输入,谢谢
答案 0 :(得分:2)
var_dump($_POST)
,然后看一下按键。您会看到差异。第一种方法时,HTML name
属性中的单引号会成为PHP数组中字符串键的一部分。您必须使用单引号作为字符串的一部分来访问它。
print $_POST['opt']["'nombre'"];
或更妙的是,只需使用第二种方法,这样您的PHP代码就不必使用这种愚蠢的密钥了。 :-)