无法访问php中的表单数据

时间:2011-08-18 13:05:54

标签: php forms post

我不是新手,但我也不是专家,我是一个敏锐的学习者。

问题(最小化) - 我有一个基本形式,将名称发布到另一个页面,该页面应该接收名称和打印名称。以下两种形式的代码

形式:

<?php
echo "hello world!";
echo "
<form action='CFAcomments.php' method='POST'> 
<table style='width: 50%;' border='0'>
<tbody>
<tr>
<td><label for='name'>name: </label></td>
<td><input type='Text' name='name' value='anon' /></td>
</tr>
<tr>
<td><input type='submit' name='send' value='Send' /></td>
</tr>
</tbody>
</table>
</form> 
";?>

表格流程:

<?php
echo "hello world 1 !";
echo "<br/>";
var_dump($_POST);    
$name = $_POST("name");
echo "hello $name !";
?>

结果:

hello world 1 !
array(2) { ["name"]=> string(11) "anon" ["send"]=> string(4) "Send" } 

问题:

即使var_dump($ _ POST)显示正在发送的数据,echo $name也不会打印任何内容。将echo $name更改为echo "test"也不会打印任何内容。代码似乎停止在$name = $_post("name");执行如果我删除此行echo "anything"有效。

过去两年我使用过php和表格,但从未遇到过这种情况,我们将不胜感激。

7 个答案:

答案 0 :(得分:4)

数组键用方括号引用,而不是括号。

$name = $_POST("name");

// Should be
$name = $_POST["name"];

答案 1 :(得分:1)

那是因为你没有使用右括号。它必须是:

$_POST['name'];

答案 2 :(得分:1)

您使用的错误语法为$ _POST。它应该是

 <?php
    $name = $_POST["name"]; 
    echo "hello $name !"; 
 ?>

您正在像函数而不是数组一样访问它。

答案 3 :(得分:1)

$name = $_POST("name"); 

不是正确的方法。它应该是:

$name = $_POST["name"]; 

因为$ _POST是一个数组。

答案 4 :(得分:1)

您需要使用

$ _ POST [ “名称”];

$ _ POST是通过HTTP POST方法传递给当前脚本的关联变量数组。

请参阅:http://php.net/manual/en/reserved.variables.post.php

答案 5 :(得分:1)

这需要

$name = $_POST["name"];

注意方括号,因为$ _POST是一个数组,而不是函数。

答案 6 :(得分:1)

要访问数组元素,您必须使用方括号。所以,它只是取代

$name = $_POST("name");

$name = $_POST["name"];