- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 session_id,用于识别购物篮类型应用程序中的用户。
session_id 作为 session id 存储在数据库中。
当我更新购物车时,session_id、product_id 和 qty 存储在 Basket 表中。
我正在尝试将一个项目添加到购物篮,然后在屏幕上显示更新的购物篮,而无需使用 jquery 刷新页面。
我是否将 session ID 存储在隐藏的 html 字段中,或者是否有更好的方法让 jQuery 知道 session_id 是什么?
更新:好的,现在根据下面的答案和评论,我真的不想在隐藏字段中使用 session id。我当然不想在 html 页面中显示 session id。
我可能需要回溯一下......
当ajax调用我的更新篮函数时,我遇到以下错误...
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ..... /ajaxData.php on line 105
我用来启动 session 的代码是...
if (!session_id()){
session_start();
}
我不太明白这个警告的含义,所以这就是为什么我考虑通过隐藏的 html 字段发送 session ID。
我想解决方案是修复警告并尝试正确执行操作...
对我的警告消息有什么建议吗?
最佳答案
IMO所有 session 数据都必须在服务器中管理,如果您确实需要在前端异步获取它。例如:
1.- jquery 的东西
$.get(
window.location.href,
{
get_session_id : 1
},
function(data) {
var session_id = data.session_id
if ("" == session_id){
// alert user
// give a friendly way to proceed without loss user's time
// return;
}
// use session_id
}, "json");
更新为了避免 Warning: session_start() [function.session-start]...
错误,请尽早将此代码段放入脚本中。在任何 html 输出之前。
2.- 服务器内容
// none output before this snippet
if ($_GET['get_session_id'])
{
// get $session_id
$output['session_id'] = $session_id ? $session_id : '';
echo json_encode($output);
exit;
}
更新2:
我向您建议这个解决方案的原因是我认为在需要时动态获取 session ID而不是以静态方式存储它更好,因为这个标识符可能会被修改、删除等,而用户则花时间填写表格。
不幸的是,这个缺陷非常常见并且令人烦恼。提交表单后,我们没有被处理,而是被重定向到登录页面,丢失了所有发送的数据。
关于php - jquery、 session 和 php session_id();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14114730/
是否有任何特别的理由来使用其中一个?我个人倾向于使用后者,因为它似乎更适合我。 最佳答案 它们做同样的事情, 关于php - 和 的区别,我们在Stack Overflow上找到一个类似的问题:
我一直在尝试在我的网站上查找 session ID,以便可以使用它来查询我的 MySQL 数据库,但我不断收到错误“ undefined variable :_SESSION in...” 这是我的代
我在 session 方面遇到了一些困难。 在我的本地 MAMP 测试服务器上,如果我这样做: session 开始();echo session_id( ); 我得到一个漂亮的 session ID
我无法理解下面的代码,我不知道我们什么时候在 session_start() 之前使用 session_id() 。 我要你解释一下!不只是复制 php.net 的描述! 另一方面,session_
我在使用 session_id() 时遇到问题,它每次在浏览器刷新/重新启动时都会返回一个新值。 阅读这篇文章 here但这并没有解决问题。我做了那里提到的所有事情 - 浏览器接受 cookie,权限
我使用 session_id 作为数据库中的 ID 列。还有一个名为“Sections”的列,其中添加了整个 xml。 xml 包含部分名称和用户在其中花费的时间。我想更新相同 session_ids
我应该在关系数据库课上多加注意,所以我需要一些帮助。 我有一个结构如下的表(还有更多,但我只发布相关信息): +------------------+-------------+------+----
我正在使用 JavaScript 发送 session_id。 session_id 在页面源中可见,例如: function startUpload(id){ var queryString
我正在开发一个在线机票预订系统,在成功预订(付款后)后,我想清除 session ID。但问题是我无法清除它,尽管我使用了 session_destroy() 来销毁 session 。 注意:我已经
我在云中“托管”的两个 Ubuntu Server VM 上使用 PHP 5.4.9,Windows Azure 和 Magento Enterprise 位于许多不同的域/子域下,这意味着有大量页面
我的生产服务器上出现了一个奇怪的情况。但是,在我本地的开发环境中这不是问题。这是一个测试脚本,我可以用它来重现问题: 如果我在浏览器中加载此页面并刷新页面 (CTRL+R),我每次都会
我尝试实现购物车。我将 session_id 存储在数据库中,以及购物车上的相关产品。登录后,我希望拥有相同的 session ,并且能够通过访问 session_id 将这些产品与用户连接起来。但是
我正在尝试在 python 3 上生成安全的 session_id。 首先,我只是生成时间戳的md5哈希值(包括微秒),然后通过cookie写入该值。但这种方法可能会被劫持。例如,从浏览器A的cook
无法在 PHP SESSIONS 中获取所有 session_id 的列表吗? 注意:我需要在服务器中维护一些文件。一个文件等于一个 session 。如果 SESSION 过期,我需要确定旧文件的行
我正在构建一个网络应用程序,用户可以上传某些文件并通过网络应用程序界面处理这些文件。我需要在用户 session 期间存储这些文件。我正在使用 session_id 作为文件夹名称为每个用户创建一个文
我的应用程序中有一些基本的 session 处理。在每个页面中,我检查用户是否已登录。如果已登录,则他们已被 $_SESSION['user_id'] 识别,并且他们的登录/注销记录在 MySQL 表
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: (PHP) How to destroy the session cookie correctly? 我正在
session_id($randomString) 和 session_regenerate_id() 之间有什么明显区别?两者似乎都改变了 session ID: session_regenerat
在标准 PHP 中,我可以通过以下方式设置 session ID: $my_session_id = $_GET['session_id']; //gets the session ID succes
我有一个 session_id,用于识别购物篮类型应用程序中的用户。 session_id 作为 session id 存储在数据库中。 当我更新购物车时,session_id、product_id
我是一名优秀的程序员,十分优秀!