-8

我已经开始学习PHP。$_POST变量在一些文件中工作,我什至可以将获得的数据发布$_POST到数据库中。

奇怪的$_POST是,在几个文件中不起作用。我的意思是它不一致。

下面是html:

<html>
<title></title>
<head>
</head>
<body>
 <form method="POST" action="addemail.php">
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<label for="lastname">Last name:</label>
<input type="text" id="lastname" name="lastname" /><br />
<label for="email">Email:</label>
<input type="text" id="email" name="email" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

下面是PHP代码:

<html>
<body>

<?php 
    $first_name = $_POST['firstname'];
    $last_name = $_POST['lastname'];
    $email = $_POST['email'];   

    print($first_name);

    $dcf = mysqli_connect('localhost','uname','XXX','elvis_store') 
                 or die('Error connecting to MYSQL Server.');

    $query = "INSERT INTO email_list (first_name, last_name, email) " .
                    "VALUES ('$first_name', '$last_name', '$email')";

    $result = mysqli_query($dcf, $query);

    mysqli_close($dcf);

?>

</body>
</html>

任何克服这个问题的建议都会有很大帮助。

4

2 回答 2

1

$_POST 不应该有任何一致性问题。这可能是很多事情:

可能的代码错误

  1. 你拼错了一个键名

  2. 确保您实际设置了值

  3. 也许您正在通过 URL www.example.com?var=x (GET) 传递一些变量,然后尝试引用$_POST['var']而不是$_GET['var']

  4. 也许您实际上并没有 POST 到该页面。如果您从表单提交,请确保method属性设置为POST(method="POST")

我敢肯定还有很多其他的可能性(比如你的开发环境),但不太可能$_POST不一致。我需要在您的最后看到更多代码。

可能的环境/使用错误

  1. 确保 WAMP 已启动(它并不总是自动启动)

  2. 确保您正在访问您的页面,http://localhost/path/file.php而不是试图直接从它所在的文件夹中打开它 ie C:\path\file.php。它必须通过 Apache 运行。

即只有$_POST那不起作用吗?如果你输入<?php echo "TEST"; ?>你的脚本,它会回显TEST吗?

于 2012-06-08T08:26:36.890 回答
-3

您必须检查您要发布的 HTML 文件中的字段名称。所以,您的 HTML 文件中的字段名称可能有问题。仔细查看。

于 2012-06-08T08:22:57.073 回答