你如何在$ _POST中使用变量?
问题描述:
你如何在$ _POST中使用变量?我试过使用$ _POST [$ row ['Field']];我试着把它分配给一个变量,看看它是否工作,然后回显值,但没有显示。
答
$ _POST是通过使用“方法=交”属性设置形式的关联数组。您可以访问它像下面这样:
可以说你有如下形式:
<form action="" method="post">
Name: <input type="text" name="first_name" />
<input type="submit" value="Submit" />
</form>
你会使用以下变量访问“FIRST_NAME”输入框中输入:
$_POST['first_name']
如果“行“是你所做的一个数组(例如:$ row = array('Field'=>'first_name');):
$_POST[$row['Field']];
请注意,因为“row”是一个PHP数组,所以你必须在它之前有“$”。
如果使用$行不会给你正确的结果,你可以这样做:
die(print_r($row,true));
要了解什么是“$行”当前设置为。检查以确保$行是正确的,然后执行:
die(print_r($_POST,true));
查看您的$ _POST变量设置是否正确。
+0
谢谢,我认为它实际上最终是因为我的POST值不正确。 – user1422508 2012-07-29 17:58:09
答
你必须检查的$_POST
索引存在,这样的事情:
$myVar = (isset($row['Field']) && isset($_POST[$row['Field']]))?$_POST[$row['Field']]:false;
var_dump($myVar);
如果此代码打印false
,那么你的变种之一有问题。
非常基本的东西..1秒谷歌:http://php.net/manual/en/reserved.variables.post.php – Bono 2012-07-29 17:33:26
我试着在谷歌搜索,我已经尝试了许多不同的方法,但他们做的因为我使用的是数组变量,所以对我来说似乎不起作用。我也用$ _POST [$ row ['myfield']]; $ _POST [“{$ row ['myfield']}”]; $ _POST [“$ row [myfield]”]; – user1422508 2012-07-29 17:36:46