php - 将浏览器发送的值存储到 $_SESSION 的正确方法是什么?
问题描述
所以我想检索存储在<input type='text'>
标签中的数据,然后将其存储$_SESSION
在我服务器上的数组中。
我正在使用一种通过 ajax 发送 GET 请求的方法,然后将值分配到$_GET
to $_SESSION
,以便以后可以使用会话值。
AJAX 获取请求:
var xhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
console.log('Sending email address to system')
xhttp.open('GET','database.php?email='+email_address, false)
xhttp.send()
然后在database.php
:
if(isset($_GET['email'])){
$_SESSION['email'] = $_GET['email'];
}
有没有更简单的方法来做到这一点?某种http请求,只是将数据$_SESSION
直接存储到而不是$_GET?
在中间使用?
解决方案
你可能会:
- 开始会话
- 做你的会话保存/更新/更改
- 如有必要,销毁会话,或者您可以设置/取消设置变量
例子
// Maybe, start of index.php
session_start();
if(isset($_GET['email'])){
$_SESSION['email'] = $_GET['email'];
}
// after everything is over, you may want to destroy it:
session_destroy();
这篇文章还有一些额外的信息。
推荐阅读
- sql - 取消的更新语句正在阻止 SQL Server 中表的删除语句
- angular - 角度检测对象属性更改
- python-3.x - 请更正我的代码并告诉我我做错了什么?
- apache-kafka - 为什么 ksql 不支持右外连接?
- javascript - Canvas 2D 或 p5.js 中是否有某种 VBO/VAO?
- python - 如何选择网站的各种元素
- python-3.x - 在 Ubuntu 上部署 python REST 服务
- python - create() 接受 1 个位置参数但给出了 2 个?姜戈
- angular - 所有测试通过后 Jasmine 抛出错误
- elasticsearch - Logstash API 配置 http