我看到了如何将数据从php获取到ajax(并通过javascript显示)的示例。与登录示例一样,我们可以检查是否输入了有效的电子邮件和密码,我们可以简单地显示"您现在已登录"。直到这里,我理解并锻炼。但是,现在当用户登录时,我需要设置 php 会话。登录表单将数据发送到 ajax.php,后者只返回一条成功消息。在其他情况下,如果我只是使用 php 来检查有效的登录详细信息,我可以在脚本找到匹配数据后立即设置 php 会话。
我知道我可以通过URL将ajax数据发送到第二个php页面,在那里它可以通过$ _GET访问。但是我想将数据放入 SESSION 中,而不是通过 URL 发送。
我是怎么做到的?
session_start();
$_SESSION['somevar'] = $_GET['somevar'];
基本上是你想要的。如果要通过 JSON 数据发送,则
session_start();
$json = json_decode($_POST['jsonvar']);
$_SESSION['somevar'] = $json['somevar'];
$_SESSION 是一个数组,就像 PHP 中的任何其他数组一样 - 分配给它、从中读取、删除、推送、弹出等......它之所以特别,只是因为它是 a) 一个超全局 b) 如果您使用session_start()
,它会自动为您持久化
包含表单详细信息的 ajax 请求
$.ajax({
type:"POST",
url:"file.php",
data:"your data string to pass",
complete:function(data){
response of ajax
}
});
包含一些代码的 PHP 文件
<?php
session_start();
$_SESSION['varable'] = $info_to_add;
$_SESSION['varable2'] = $info_to_addother;
?>