Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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
Javascript 通过会话进行登录和注销切换_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript 通过会话进行登录和注销切换

Javascript 通过会话进行登录和注销切换,javascript,php,html,ajax,Javascript,Php,Html,Ajax,嗨,伙计们,我正在做一个学校项目。我想在用户登录时切换一个类。我让会话工作,javascript正在检测会话,但类没有切换。这是我的密码 <script language='javascript' type='text/javascript'> var userid = "<?php echo $username; ?>";//username is the session variable if (userid==(""))//indicaates that no

嗨,伙计们,我正在做一个学校项目。我想在用户登录时切换一个类。我让会话工作,javascript正在检测会话,但类没有切换。这是我的密码

<script language='javascript' type='text/javascript'>
 var userid = "<?php echo $username; ?>";//username is the session variable
 if (userid==(""))//indicaates that no one is logged in
 $('#det_login').toggleClass('hide'); 
 else
 $('#det_logout').toggleClass('hide');
</script>


<li id="det_login"><a href="javascript:login('show');" class="nav2"> login</a><li>

<li id="det_logout" class="hide"  ><a href="javascript:login2('show');" class="nav2"><?= $username ?> logout</a><li>

var userid=“”//username是会话变量
if(userid==(“”))//表示没有人登录
$('det#u login')。toggleClass('hide');
其他的
$('det#u logout')。toggleClass('hide');
  • 伙计们,我真的很感激你们的帮助。多谢各位

    谢谢你们的帮助,伙计们,这就是我所做的。它没有明显的切换,因为我在display语句上面有javascript

                                    <li id="det_login" class="show"   ><a href="javascript:login('show');" class="nav2">
    login</a><li>
    
                             <li id="det_logout" class="show"  ><a href="javascript:login2('show');" class="nav2"><?= $username ?>
     logout</a><li>
    
    <script language='javascript' type='text/javascript'>
     var userid = "<?php echo $username; ?>";
     if (userid==(""))
     {
     $('#det_logout').addClass('hide'); 
      $('#myaccount').addClass('hide');
       $('.divider2').addClass('hide');
     }
     else
    $('#det_login').addClass('hide');
    </script>
    
  • var userid=“”; 如果(userid==(“”) { $('det#u logout').addClass('hide'); $('#myaccount').addClass('hide'); $('.divider2').addClass('hide'); } 其他的 $('det#u login').addClass('hide');
  • 首先,你所做的不是正确的做事方式

    我认为您要做的是,如果某个用户登录,则设置一个会话变量。如果该用户登录,则尝试显示/隐藏某些内容,反之亦然

    对于Toggle,这部分就足够了。我建议不要使用Toggle,因为它已被弃用

    var flag = false;
    
    $(document).on('click', '.login', function(event) {
        if (flag) {
            // logged in code
        }else{ //in your case if (userid==(""))
            // logout code
        }
        flag = !flag;
    });
    
    更简单的方法:

    <script>
        var is_logged_in = "<?php echo $_SESSION['log_status'] ?>"; //$_SESSION['log_status']=true..assume
        if (is_logged_in) {
            //your code..$(".class or #id").addClass("xyz");//show,hide or any appropriate action
        } else {
            //some other action
        }
    </script>
    
    
    var已登录=“已登录”//$_会话['log_status']=true..假设
    如果(是否已登录){
    //您的代码..$(“.class或#id”).addClass(“xyz”);//显示、隐藏或任何适当的操作
    }否则{
    //其他行动
    }
    
    首先,你所做的不是正确的做事方式

    我认为您要做的是,如果某个用户登录,则设置一个会话变量。如果该用户登录,则尝试显示/隐藏某些内容,反之亦然

    对于Toggle,这部分就足够了。我建议不要使用Toggle,因为它已被弃用

    var flag = false;
    
    $(document).on('click', '.login', function(event) {
        if (flag) {
            // logged in code
        }else{ //in your case if (userid==(""))
            // logout code
        }
        flag = !flag;
    });
    
    更简单的方法:

    <script>
        var is_logged_in = "<?php echo $_SESSION['log_status'] ?>"; //$_SESSION['log_status']=true..assume
        if (is_logged_in) {
            //your code..$(".class or #id").addClass("xyz");//show,hide or any appropriate action
        } else {
            //some other action
        }
    </script>
    
    
    var已登录=“已登录”//$_会话['log_status']=true..假设
    如果(是否已登录){
    //您的代码..$(“.class或#id”).addClass(“xyz”);//显示、隐藏或任何适当的操作
    }否则{
    //其他行动
    }
    
    不要一开始就混合使用PHP和JavaScript。无论如何,在这两种情况下,你的toggleClass都有“隐藏”功能。此外,login2从未定义过,至少在您向我们展示的代码中没有定义过,所以我不希望发生任何事情。检查开发人员工具中的控制台,如果缺少任何内容,请向我们显示完整的代码。嗨,我在单独的javascript文件中定义了login2和login,你想让我粘贴整个php和javascript文件吗?@user3002303:永远不要这样做..为了激励人们回答你的问题,你必须简化你的问题..如果你引用某些东西(例如,使用某种函数或使用变量或常量),那么您应该将其包含在缩进良好且分隔的代码中。我仍然很好奇为什么你有if-else,但仍然隐藏在这两者中。第一个隐藏用于登录,第二个隐藏用于注销。顺便说一句,我已经完成了,但是因为我是新来的,所以我要到8小时后才能回答这个问题。不要一开始就混合使用PHP和JavaScript。无论如何,在这两种情况下,你的toggleClass都有“隐藏”功能。此外,login2从未定义过,至少在您向我们展示的代码中没有定义过,所以我不希望发生任何事情。检查开发人员工具中的控制台,如果缺少任何内容,请向我们显示完整的代码。嗨,我在单独的javascript文件中定义了login2和login,你想让我粘贴整个php和javascript文件吗?@user3002303:永远不要这样做..为了激励人们回答你的问题,你必须简化你的问题..如果你引用某些东西(例如,使用某种函数或使用变量或常量),那么您应该将其包含在缩进良好且分隔的代码中。我仍然很好奇为什么你有if-else,但仍然隐藏在这两者中。第一个隐藏用于登录,第二个隐藏用于注销。顺便说一句,我已经完成了,但是因为我是新来的,所以我在8小时后才能回答这个问题。谢谢你的回复,但是我对这个问题非常陌生(这个月才开始),我不太理解你发布的代码。你能把我的代码粘贴到里面,这样我就能看到语法了吗?找一本关于javascript、jquery、pho编程的好书。这是一种比用谷歌搜索所有东西更好的学习方法……此外,代码非常简单。你不了解哪一部分我正在看第二种方法,你有我的代码。我的html会去那里吗
  • 不,不,不,不……我希望你已经创建了一个名为login的函数……我不知道你为什么需要通过show作为参数……你正在尝试学习一些东西,这很好……但是你的html并没有达到任何目的……我建议你保持html的整洁,并在javascript中分配事件处理程序,而不是……正如我为初学者所说的,总是抓住一个书..谢谢你的回复,但是我对这个很陌生(这个月才开始),我不太理解你发布的代码。你能把我的代码粘贴到里面,这样我就能看到语法了吗?找一本关于javascript、jquery、pho编程的好书。这是一种比用谷歌搜索所有东西更好的学习方法……此外,代码非常简单。你不了解哪一部分我正在看第二种方法,你有我的代码。我的html会去那里吗
  • 不,不,不,不……我希望你已经创建了一个名为login的函数……我不知道你为什么需要通过show作为参数……你正在尝试学习一些东西,这很好……但是你的html并没有达到任何目的……我建议你保持html的整洁,并在javascript中分配事件处理程序,而不是……正如我为初学者所说的,总是抓住一个书。。