【发布时间】:2011-10-10 23:35:05
【问题描述】:
我有一个脚本,可以在用户登录时设置我的 uid 和电子邮件会话。
在 2 个变量中:
$_SESSION["uid"] = $user_id;//1,2,3 etc..
$_SESSION["email"] = 'my@email.com';
我有一个功能,用户可以通过 ajax 发布一些数据。 但是当数据发送到服务器并且请求完成时,我的电子邮件会话的值会被擦除,这会导致我的用户无法执行某些操作。
我搜索了整个脚本,但找不到任何内容
$_SESSION["email"] = '';
在 ajax 请求完成后或其他任何可能的地方。
有什么线索吗?
编辑: _SESSION 的 var_dump:
array(2) { ["email"]=> &string(0) "" ["uid"]=> &string(11) "91283921834" }
解决方案: 我的主机显示 5.2.17 作为默认 php 版本,所以我不得不调用
AddType application/x-httpd-php53 .php
在我的 .htaccess 文件中,使其将 5.3.5 视为实时 php 版本,该版本删除了引用,现在可以正常工作了。
【问题讨论】:
-
它似乎没有被擦除,这很奇怪
-
所以通过 AJAX 调用开始会话,而电子邮件是唯一不可用的值吗?使用未设置电子邮件的 _SESSION 的 var_dump 更新您的问题。
-
是的,我已经编辑了问题。
-
希望我能提供更多帮助,但我需要查看更多代码才能尝试调试它。 T9b 的 SO 问题可能值得一试。
-
奇怪的是它只发生在实时服务器上而不是本地主机上。