Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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_Session - Fatal编程技术网

PHP会话';刷新后无法检测到

PHP会话';刷新后无法检测到,php,session,Php,Session,我正在用PHP开发一个需要使用会话的应用程序。 我已经用三层架构开发了我的应用程序 我只使用一个PHP页面和虚拟表单来提交用户操作,所有的处理都是通过实体/函数特定的类进行的 当第一次打开页面时,我会检查变量,如果之前从未打开过,我会显示登录表单 当我收到来自此表单的帖子时,我会检查用户,如果用户正常,我会启动会话 if(isset($_POST['login'])) { if($_POST['login']=='login') { //valida us

我正在用PHP开发一个需要使用会话的应用程序。 我已经用三层架构开发了我的应用程序

我只使用一个PHP页面和虚拟表单来提交用户操作,所有的处理都是通过实体/函数特定的类进行的

当第一次打开页面时,我会检查变量,如果之前从未打开过,我会显示登录表单

当我收到来自此表单的帖子时,我会检查用户,如果用户正常,我会启动会话

    if(isset($_POST['login']))
{
    if($_POST['login']=='login')
    {
        //valida user
        $accoes=$du->login($_POST['username'],$_POST['password']);
        if($accoes===false)
        {
            echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
            echo "alert('Erro no Login');";
            echo "</SCRIPT>";
            unset($accoes);
        }
        else
        {
            //utilizador valido
            echo "<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">";
            echo "alert('Utilizador válido');";
            echo "</SCRIPT>";
            session_start();
            $user="teste";
            $screen="logged";
            $_SESSION['user']=$user;
        }
    }
}
我知道我应该知道如何解决这个问题,但直到现在我对PHP的经验是抛出Flex/Flash,所以会话管理并不是真正必要的


谢谢你的帮助有一件事我可以肯定地指出。。您的会话_start()应该是打开php tahg后的第一行

<?php
   session_start();

有一件事我可以肯定地指出。。您的会话_start()应该是打开php tahg后的第一行

<?php
   session_start();

您是否在每个页面的顶部调用了session_start()?在尝试检查会话变量之前,session_start()是否也应该出现?是的,您是否在每个页面的顶部调用了session_start()?在尝试检查会话变量之前,session_start()是否也应该出现?是的,我只是在用户成功登录后才使用它,因为在《公安条例》中,它看起来更符合逻辑!但当它失败的时候,我开始认为可能是它!但我需要确定!谢谢然而,我只想使用一个页面,并根据下面各层的处理更改其内容!即使如此,在通话之间我仍需要保持会话控制!如果我在顶部使用session_start(),我应该如何传递会话ID?通过邮局?它是自动完成的吗?英雄联盟真蠢!这是通过客户端IP和浏览器完成的!即使在登录之前,会话也可以存在!这都是我放进去的那些虚幻的东西干的!我厌倦了知道它,但我缺乏经验!你是对的。。当您开始会话时,您不必担心会话ID的传输。。。当您需要检查用户是否登录时。。不要检查
session\u id()
而是检查特定于用户的参数,如唯一标识用户的
$\u session['user']
。我仅在用户成功登录时使用它,因为在POO vision中它似乎更具逻辑性!但当它失败的时候,我开始认为可能是它!但我需要确定!谢谢然而,我只想使用一个页面,并根据下面各层的处理更改其内容!即使如此,在通话之间我仍需要保持会话控制!如果我在顶部使用session_start(),我应该如何传递会话ID?通过邮局?它是自动完成的吗?英雄联盟真蠢!这是通过客户端IP和浏览器完成的!即使在登录之前,会话也可以存在!这都是我放进去的那些虚幻的东西干的!我厌倦了知道它,但我缺乏经验!你是对的。。当您开始会话时,您不必担心会话ID的传输。。。当您需要检查用户是否登录时。。不要检查
session\u id()
而是检查用户特定的参数,如唯一标识用户的
$\u session['user']
。。