将ajax结果存储到PHP会话中

时间:2012-08-16 21:10:46

标签: php

我看到如何从php获取数据到ajax(并通过javascript显示它)的示例。如在登录示例中,我们可以检查是否输入了有效的电子邮件和密码,我们可以简单地显示“你现在是登录。”直到这里我理解并解决了问题。但是,现在当用户登录时,我需要设置php会话。 登录表单将数据发送到ajax.php,后者只返回成功消息。在其他情况下,如果我只是使用php来检查有效的登录详细信息,我可以在脚本找到匹配数据后立即设置php会话。

我知道我可以通过URL将ajax数据发送到第二个php页面,它可以通过$ _GET访问。但是我希望将这些数据放入SESSION,而不是通过URL发送。

我是怎么做到的?

2 个答案:

答案 0 :(得分:0)

session_start();
$_SESSION['somevar'] = $_GET['somevar'];

基本上就是你想要的。如果您要发送JSON数据,那么

session_start();
$json = json_decode($_POST['jsonvar']);
$_SESSION['somevar'] = $json['somevar'];

$ _ SESSION是一个像PHP中任何其他类似的数组 - 分配给它,从中读取,删除,推送,弹出等等......这只是特殊的,因为它是a)超级全局b)如果你使用它会自动保留session_start()

答案 1 :(得分:0)

Your ajax request with form details 
 $.ajax({
        type:"POST",
        url:"file.php",
        data:"your data string to pass",
        complete:function(data){
     response of ajax

        }
    });

现在你的php文件包含一些代码

<?php
Your php code to verify or anything 
if result is true you can set values in session varables like
 session_start();
 $_SESSION['varable'] = $info_to_add;
 $_SESSION['varable2'] = $info_to_addother;
?>