zoukankan      html  css  js  c++  java
  • phpcms V9静态判断会员登录状态的方法

    phpcms v9如何在任意地方判断会员的登录状态呢?在php中是比较好判断的,代码如下

    <?php

    if (!$_userid){

    echo"会员没有登录";

    }else

    {

    echo"会员登录了";

    }

    ?>

    但这代码也有局限性,在phpcms V9的黄页模块中无效!

    在phpcms v9中我们如何做到在任意模块判断会员登录状态,并且可以静态判断会员登录状态呢?即可以用javascript判断会员的登录状态!

    由于用javascript判断会员状态,就必须采用ajax,ajax就存在跨域问题,跟着以下方法做,就可以解决任意模块javascript判断会员登录状态,并且解决了跨域问题。

    第一步,在phpcmsmodulesmember中建一个文件checklogin.php

    内容如下

    <?php
    /**
    * ================================
    * 检测会员登录状态
    */
    defined('IN_PHPCMS') or exit('No permission resources.');
    class checklogin {
    public function init(){
           $callback = $_GET['jsoncallback'];//这东西是为了解决跨域问题的
           $_groupid = param::get_cookie('_groupid');
           $_groupid = intval($_groupid);
        if(!$_groupid) {
          echo $callback.'(0)';
       }else{
         echo $callback.'(1)';
       }
    }
    }
    ?>

    第二步,在需要判断会员登录状态的页面添加如下javascript代码,当然前提上必须是引用了jquery的

      //判断登录状态
      $.getJSON("http://www.bnwin.com/index.php?m=member&c=checklogin&a=init&jsoncallback=?", function(data){
        if(data=='1'){
         //会员是登录了的,可以进行一系列操作如

           $('#showdiv').show(); //显示div

           window.open('http://www.bnwin.com','_self');//打开新页面

        }else{
           alert('需要登录后查看!');
        }
      });

    这样即解决了任意模块调用判断会员登录状态,并且二级域名中使用也没有关系,也就是解决了跨域问题!

    演示效果 http://www.bnwin.com的图片频道的查看原图,没有登录会提示登录后查看,登录后就不会提示!以及黄页频道会员状态的判断

  • 相关阅读:
    从“窃听门”事件解读手机Rootkit攻击
    一款好用的开源信息安全管理系统演示(视频)
    P1908-逆序对
    P1010-幂次方
    P1226-快速幂
    P1433-吃奶酪
    ACM模板——玄学逐字符输入输出
    P1434-滑雪
    P1118-数字三角形
    P1443-马的遍历
  • 原文地址:https://www.cnblogs.com/wawahaha/p/3629833.html
Copyright © 2011-2022 走看看