$ _POST工作,但$ _GET方法不起作用

时间:2014-12-05 05:42:59

标签: php

我正在学习php,在这个小代码中,我使用post方法将数据发送到php应用程序。它工作正常并显示结果。

<html>
<head>
    <title>learn php</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <div>

        <form action="htmltophp.php" method="post">

            <input type="text" name="value_to_test"/>
            <input type="submit" value="button"/>


        </form>


    </div>
</body>

这是php应用程序的代码

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <?php

      $value = $_POST['value_to_test'];
      echo $value;
    ?>

    <p>testing</p>
</body>

但是当方法更改为GET时,它的工作方式不同。它没有回应价值。它只显示html'测试'。

任何建议都表示赞赏。

4 个答案:

答案 0 :(得分:1)

更改php应用程序的以下行代码:

 $value = $_POST['value_to_test'];

 $value = $_REQUEST['value_to_test'];
默认情况下,

$_REQUEST包含$_GET$_POST$_COOKIE

的内容

如果我必须选择,我可能不会使用$_REQUEST,我会选择$_GET$_POST - ,具体取决于我的申请应该做什么(即一个或另一个,但不是两个):一般来说:

  • 当有人从您的应用程序请求数据时,您应该使用$_GET
  • 当有人向您的应用程序推送(插入或更新;或删除)数据时,您应该使用$_POST

答案 1 :(得分:1)

当您使用get方法然后在php

中使用用户$_GET

PS:$_REQUEST在您不了解请求方法时也很有用

 <?php

      $value = $_REQUEST['value_to_test'];
      echo $value;
  ?>

答案 2 :(得分:1)

请确保您传递的是表格方式=&#34; get&#34;并将其作为$ _GET接收。如果使用get正确提交表单,则可以在查询字符串中将表单元素值视为密钥对。

答案 3 :(得分:0)

尝试:

echo $_REQUEST['value_to_test'];

或者您可以尝试:

echo $_GET['value_to_test'];

但这只有在您真正进行测试时才有效。无论如何,我建议您查看the documentation