【发布时间】:2018-04-13 12:07:38
【问题描述】:
我有这个代码:
$array = 'user_profile';
$var_name = 'postcode';
if ( isset($_POST['user_profile']) ) {
echo '<br />Var name ('.$var_name.')<br />';
print '<pre>';print 'Keys<br>';print_r(array_keys($_POST[$array]));print '</pre>';print '<br />';
print '<pre>';print 'POST user_profile<br />';print_r($_POST[$array]);print '</pre>';print '<br />';
print '<pre>';print 'POST dump<br />';var_dump($_POST[$array]);print '</pre>';print '<br />';
echo '<br />{'.$_POST[$array][$var_name].'}<br /><br />';
}
die();
我明白了:
Var name (postcode)
Keys
Array
(
[0] => 'address_1'
[1] => 'address_2'
[2] => 'address_3'
[3] => 'address_4'
[4] => 'address_5'
[5] => 'postcode'
[6] => 'phone'
)
POST user_profile
Array
(
['address_1'] => Templeton House
['address_2'] => 62 Templeton Street, Suite 22
['address_3'] =>
['address_4'] => Glasgow
['address_5'] =>
['postcode'] => G40 1DA
['phone'] => 07222222
)
POST dump
array(7) {
["'address_1'"]=>
string(15) "Templeton House"
["'address_2'"]=>
string(29) "62 Templeton Street, Suite 22"
["'address_3'"]=>
string(0) ""
["'address_4'"]=>
string(8) "Glasgow "
["'address_5'"]=>
string(0) ""
["'postcode'"]=>
string(7) "G40 1DA"
["'phone'"]=>
string(8) "07222222"
}
Notice: Undefined index: postcode in C:\xampp\htdocs\xxxxxx.com\src\controller\app\userController.php on line 153
{}
第 153 行是:echo '<br />{'.$_POST[$array][$var_name].'}<br /><br />';
我整个上午都在试图找出我的错误在哪里。
有人可以帮助我吗?谢谢。
[编辑]
我做了一些更改,试图澄清所询问的内容。显然代码更长,但您看到的位是在函数的开头。没有其他东西可以帮助您了解正在发生的事情。输出正是我在浏览器中得到的,即使是最后一个括号,顺便说一下,我不明白为什么会出现,第一个是好的,但第二个是在 NOTICE ???之后打印的。
【问题讨论】:
-
第 152 行的结果是什么?您打印 post 数组。这与您在标题
POST user_profile下转储的数组相同吗? -
IMO,它应该可以工作。你能发一个
var_dump()而不是print_r()好吗?postcode键可能有问题。 -
您是否有没有向我们展示的代码?你确定你向我们展示了正确代码的正确输出吗?你确定你没有忘记在测试之前上传你的代码更改吗?我觉得这里发生了一些你没有告诉我们的事情。
-
您可以发布字段 html 部分吗?
-
最后一个
{}在那里,因为您在最后一个echo通话中拥有它们。通知是在echo执行之前生成的。