$_POST 变量保持活动状态多久,PHP 如何决定 post 数组中的内容?

roo*_*ubu -1 javascript php jquery post

假设我正在构建一个网络应用程序,该应用程序正在连接并基本上解析另一个网站。$.post我的问题是,如果您使用具有多个变量的 php 脚本发布(假设通过速记使用 jquery/ajax )。以这个脚本为例:

$user = $_POST['user'];
$pass = $_POST['pass'];

if(isset($user) && $user !== null){
   if(isset($pass) && $pass !== null)
    echo 'true'
   else
    echo 'false';
}
Run Code Online (Sandbox Code Playgroud)

现在我们的应用程序真的很奇怪(只是一个例子),并决定通过 jQuery 以不同的时间间隔将用户和密码提交到脚本,$.post,这基本上会以 ajax 简写形式提交到脚本并检索数据。我们的应用程序将提交用户首先输入的用户名,但为了惹恼用户,它在五分钟后在另一个单独的调用中提交了密码。

所以从视觉上来说

$.post('script.php',{user: 'username'}) -> posts to the script, but doesn't
return anything, as in this case it would return false

<em>5 minutes later</em>

$.post('script.php',{pass: 'password'}, function(data){
       alert("data returned: " + data);
});
Run Code Online (Sandbox Code Playgroud)

如果脚本全部源自同一页面,脚本会记住之前传递的用户名帖子变量吗?或者它会忘记它并且根本不运行(因为未设置用户名)?

基本上我的总体问题是,您能否在不同时间从同一页面向 php 脚本提交不同的 post 变量,它们是否会在脚本中一起工作?

Ioa*_*mas 5

不会。$_POST数组的上下文会随着每个请求而变化,因为它将始终包含最后发布的键值对。您可能需要一种保存状态的机制,例如$_SESSION数组,当然您需要初始化数组并将值传递给自己。