【问题标题】:PHP Session Issue, not working 100% of the timePHP 会话问题,不能 100% 工作
【发布时间】:2016-10-05 08:49:48
【问题描述】:

我有一个非常奇怪的问题,PHP 会话有时会返回未定义的索引,但并非总是如此。我不知道是否有人遇到过类似的问题,我在会话开始方面没有太大变化。我还检查了可用的磁盘空间,这对于会话数据来说似乎很好。有没有人有类似的经历?

<?php

session_start();
include_once "security_mobile.php";
include "session.php";
switch($var)
{
 case "get_name":
 echo $securitymob->get_name();
 exit;
}
?>

Security_mobile.php

function get_name(){
 return $_SESSION['customer']['name'];
}

这是第一个 undefined 发生在客户身上的地方,之后它就不会在任何其他人身上起作用。但有时它确实有效,这让我很烦恼!

问题更新

从我的应用程序中删除此问题后,我可以立即解决此问题,但是我需要让它正常工作。

connection.js

 var getdb = Ti.Network.createHTTPClient({
    onload : function(e) {
          var response = this.responseText;
          Ti.App.Properties.setString('tempDB', response);
    },
    onerror : function(e) {
        failed(e);
    },
    timeout : 5000,
    validatesSecureCertificate : false
   });
   getdb.open('POST', this.url, true);
   getdb.send({
        'action' : 'get_name',
        'device' : 'mobile'     
   });

可能与返回$_SESSION['customer']['name']有关, $_SESSION['customer']['name'] 在登录阶段使用。

【问题讨论】:

  • 你在每个页面上都使用 session_start() 吗?另外,检查您是否在 session_destroy() 之后访问页面
  • 您能否添加代码的 sn-p 以演示您如何创建/处理会话以及问题发生在哪里?
  • 我会尝试给出一个可读的sn-p,只是很多代码
  • 希望更有意义
  • 你在哪里设置$_SESSION['customer']['name']?也许您在设置之前尝试阅读它?

标签: javascript php session appcelerator


【解决方案1】:

答案是 HTTP 客户端请求发布得很快,这没有给建立连接和会话数据的时间,因此为什么会出现断断续续的结果。为了解决这个问题,我必须在第一个 HTTP 客户端完成后执行下一个 HTTP 客户端。有关更多详细信息,请参阅此其他答案。

https://stackoverflow.com/a/39877622/6371663

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-26
    • 2011-08-16
    • 2012-02-13
    • 1970-01-01
    • 2012-04-05
    • 2013-01-29
    相关资源
    最近更新 更多