Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 刷新期间出现会话问题_Php_Mysql_Apache Flex - Fatal编程技术网

Php 刷新期间出现会话问题

Php 刷新期间出现会话问题,php,mysql,apache-flex,Php,Mysql,Apache Flex,当我刷新flex应用程序时,页面不会保持其状态并返回到登录页面。我不知道为什么会发生这种情况,下面是我的代码处理会话的例子 公共函数doLogin($username,$password){ 我应该在Flex窗格上做些什么,在成功登录后加载。成功登录后重定向回其他页面 比如说 if(doLogin($user,$pass) == 'yes') { Header("Location: index.php"); exit; } 刷新是指重新加载页面(F5)。如果是这样,那就是原因!

当我刷新flex应用程序时,页面不会保持其状态并返回到登录页面。我不知道为什么会发生这种情况,下面是我的代码处理会话的例子

公共函数doLogin($username,$password){


我应该在Flex窗格上做些什么,在成功登录后加载。

成功登录后重定向回其他页面

比如说

if(doLogin($user,$pass) == 'yes')
{
    Header("Location: index.php");
    exit;
}

刷新是指重新加载页面(F5)。如果是这样,那就是原因!重新加载/刷新将重新初始化所有内容。因此,重新加载/刷新时将显示您的起始状态(登录)

如果您希望保持应用程序状态,则每次状态更改时,您都必须将其详细信息保存到数据库中,然后当用户点击起始页时,重新加载其会话


如果浏览器刷新/重新加载(或崩溃等)然后你无法让应用程序注销用户,因此当登录页面被点击时,你必须恢复到上次知道的状态。如果用户没有正确登录,这当然会有重大的安全问题。

你是否在flex应用程序中维护会话id,并将其与新请求一起发送

您能否测试并确认Flex中的每个请求都从PHP脚本返回相同的会话id

您是否在flex应用程序外部的cookie中持久化会话id?否则,您的会话id将在页面刷新时丢失。您需要存储在本地存储或cookie中,并在flex应用程序启动时访问它。

您的问题就在这里

   else 
                    {
            $session['id']=session_id();
            $session['username']=$username;
            return 'yes';
                    }
            }
未定义$session…如果要在会话数组中存储内容,请使用$\u session

   else 
                    {
            $session['id']=session_id();
            $session['username']=$username;
            return 'yes';
                    }
            }