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

时间:2012-02-23 06:47:12

标签: javascript php jquery post

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

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

if(isset($user) && $user !== null){
   if(isset($pass) && $pass !== null)
    echo 'true'
   else
    echo 'false';
}

现在我们的应用程序非常奇怪(只是一个示例),并决定通过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);
});

如果脚本全部来自同一页面,脚本是否会记住之前传递的用户名post变量?还是会忘记它而根本不运行(因为没有设置用户名)?

基本上我的整体问题是,您可以在不同时间从同一页面向php脚本提交不同的帖子变量,它们是否会在脚本中一起工作或者不是?

1 个答案:

答案 0 :(得分:3)

没有。 $_POST数组的上下文随每个请求而变化,因为它总是包含最后一个POSTed键 - 值对。您可能正在使用保留状态的机制,例如$_SESSION数组,当然您需要初始化并将值传递给自己。