$ _POST'value只能使用一次?

时间:2018-08-11 05:22:52

标签: php post

post-data.php可以保留一个将用户名发布到show-post-data.php中的表单。
post-data.php

<form method="post" action="show-post-data.php">
user:<input type="text" name="user"></input>
        <input type="submit" name="submit" value="submit">
</form>

var_dump($_POST);中只有一个命令show-post-data.php

<?php
var_dump($_POST);
?>

1。在浏览器中单击127.0.0.1/post-data.php
2.输入tom,然后单击“提交”按钮。
3.在浏览器中单击127.0.0.1/show-post-data.php
我们得到的输出如下:

array(2) { ["user"]=> string(3) "tom" ["submit"]=> string(6) "submit" }

4。第二次单击浏览器中的127.0.0.1/show-post-data.php

没有任何输出。$_POST现在为空。
$ _POST'值只能使用一次?

2 个答案:

答案 0 :(得分:0)

这是因为HTTP协议是无状态的,这意味着您在请求中发送的信息仅适用于该请求(除非您将其存储在服务器中)。

在POST中发送信息时,该信息通过变量$_POST到达服务器(PHP代码),您可以在该请求中使用它。在下一页加载中,除非再次发送新信息,否则该变量将为空。这是正确的行为。

答案 1 :(得分:0)

$_POST值只能使用一次?

,它可以多次使用,但仅在发布它的页面中可用。

如果您将值发布到特定的URL,则在该时间只能在该指定的URL中访问发布的变量。不在其他网址中或其他时间。

如果需要在其他部分/页面中使用,则必须保存该值或存储在会话或cookie中。

if(isset($_POST) && count($_POST)) { 
  $_SESSION['post'] = $_POST; 
}
if(isset($_SESSION['post']) && count($_SESSION['post'])) { 
  $_POST = $_SESSION['post']; 
}