0

我刚刚开始学习PHP。我发现 $_POST 变量不起作用,并在下面的链接中发布了相同的内容

$_POST[] 在 php 中不起作用

并按照我安装的 XAMPP 的建议。但是 $_POST 变量的问题仍然没有解决。

现在我怀疑是否需要配置任何全局变量才能使 $_POST 工作。我完全迷失了这一点,不知道如何进行。

非常感谢您对此的任何帮助。

下面是html代码——report.html

<html>
<title></title
<head></head>
<body>
        <form action="report.php" method="POST" >
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" value="TestOnly" /><br />
</form>
</body>
</html>

下面是php代码-report.php

<html>
<head>

</head>
<body>

<?php
     print( $_POST['firstname']); 

?>
</body>
</html>  

下面是我从 chrome 网络数据中得到的视图

在此处输入图像描述 谢谢。

4

5 回答 5

1

看看,试试这个。

文件来源index.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>POST</title>
    </head>

    <body>
        <form method="post" action="post.php">
            <input type="text" name="name" />
            <input type="submit" name="submit" value="submit">
        </form>
    </body>
</html>

来源post.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title>Output</title>
</head>
<body>
    <?php
        if(isset($_POST["name"]))
            echo "You have posted " . $_POST["name"];
        else
            echo "Nothing has been set!";
    ?>
</body>
</html>

现在尝试将这两个文件保存在同一目录下。在文本框中输入一些内容,然后单击提交。让我们知道你有什么。

于 2012-06-07T04:35:18.617 回答
0

你的代码是什么?默认 $_POST 设置在每个服务器中都处于活动状态,除非在服务器中出于安全原因忽略发布的数据。我认为你的错误在于你的代码,不要更改 XAMP 设置

于 2012-06-07T04:41:41.257 回答
0

你有没有试过如果你的 php 是正确的?

<?php
    phpinfo();
?>

或者

<?php
    print_r($_POST);
?>
于 2012-06-07T04:33:34.530 回答
0

需要检查的几件事:

  • 除非已将表单提交(发布)到该脚本,否则您的脚本将在 POST 数组中没有数据。
  • 如果您有一个脚本并且它正在正确提交,请确保表单的开始标记中有 method="Post"。如果您的表单提交并且在结果脚本中您会在地址栏中看到一堆变量,这些变量用与号 (&) 分隔,那么它使用的是 GET 而不是 POST。确保您在表单标签中有上述声明method="Post"。
  • 如果您提交了脚本,但仍然看不到任何内容,请尝试将 print_r($_POST) 或 var_dump($_POST) 放在目标脚本的顶部以查看 $_POST 数组的转储。如果这没有给您任何帮助,请尝试 var_dump($_REQUEST) 并查看您的表单数据是否显示在那里。
于 2012-06-07T04:33:45.423 回答
0
  1. 不改变php的设置
  2. 要么你在 html 文件中使用 get 方法,要么在动作文件中使用 post,你都应该使用 post。
于 2012-06-07T04:48:37.627 回答