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

<?php

if (!$_userid){

echo"会员没有登录";

}else

{

echo"会员登录了";

}

?>

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

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

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

第一步,在phpcms\modules\member中建一个文件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的图片频道的查看原图,没有登录会提示登录后查看,登录后就不会提示!以及黄页频道会员状态的判断

phpcms V9静态判断会员登录状态的方法的更多相关文章

  1. Discuz! X2.5判断会员登录状态及外部调用注册登录框

    Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...

  2. PHPCMS v9点击量增加值加大的方法

    PHPCMS v9点击量增加值加大的方法 在根目录/api 50行 $views = $r['views'] + 1; 修改数字1即可修改每次刷新页面点击量增加的数值.

  3. PHPCMS V9静态化HTML生成设置及URL规则优化

    先讲讲Phpcms V9在后台怎么设置生成静态化HTML,之后再讲解怎么自定义URL规则,进行URL地址优化.在这一篇中,伪静态就不涉及了,大家可以移步到Phpcms V9全站伪静态设置方法. 一.静 ...

  4. Tornado 判断用户登录状态和操作权限(装饰器)

    判断是否登录: def authenticated(method): '''''' @functools.wraps(method) def wrapper(self, *args, **kwargs ...

  5. vue 根据接口返回的状态码判断用户登录状态并跳转登录页,登录后回到上一个页面(http拦截器)

    背景:后台接口返回code==501表示用户是未登录状态,需要登录才可访问: 通过http拦截做路由跳转 第一步:src目录下新建http.js文件,内容如下: import Axios from ' ...

  6. phpcms v9图片生成缩略图变成黑色解决方法

    今天客户反映,上传的图片生成缩略图有的图片变成黑色,出现问题就百度了一下,有不少网友也遇到这样的问题,但是官方论坛也没有给出解决办法,那还得靠自己解决了,于是就研究phpcms v9 图片压缩代码.打 ...

  7. Phpcms v9系统类库与函数库调用方法

    在分享了n多phpcms的教程后,cmsyou继续分享关于phpcms v9系统类库与函数库的调用方法. 系统类库位于系统的 /libs/functions目录下面,函数库文件名为*.func.php ...

  8. phpcms v9文章页调用点击量方法

    1.在页面加载" 2.调用统计点击的标签:: 3.最后,在写上这一句:" phpcms v9增加文章随机点击数的方法 找到文件count.php(网站根目录/api) 查找第50行 ...

  9. SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

    问题描述: sqlserver在删除登录名的时候提示删除失败 标题: Microsoft SQL Server Management Studio -------------------------- ...

随机推荐

  1. QPixmap 和 HBITMAP互转

    Q_GUI_EXPORT HBITMAP qt_pixmapToWinHBITMAP(const QPixmap &p, int hbitmapFormat = 0); 声明这一句后, 就可以 ...

  2. shareplex三点同步配置

    一.准备工作 主从类型 系统版本 数据库版本 主机地址 主机名 源数据库 Centos6.4 X86_64 11.2.0.4.0 192.168.3.230 dbshareplex 目的数据库 Cen ...

  3. 关于eclipse中egit右键reset失败,无法更新git仓库.

    有时候egit出现莫名其妙的问题,这次是无法对git仓库进行reset . & & 解决方法: 找到对应git仓库的磁盘目录,然后进行git brash.(一定要安装了git客户端) ...

  4. 设计模式——java

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  5. ActiveMQ(5.10.0) - Message Redelivery and DLQ Handling

    When messages expire on the ActiveMQ broker (they exceed their time-to-live, if set) or can’t be red ...

  6. Linux 命令 - passwd: 更改用户密码

    命令格式 passwd  [-k]  [-l]  [-u  [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactiveda ...

  7. asp自动补全html标签自动闭合(正则表达式)

    Function closeHTML(strContent) Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match Set re = N ...

  8. 关于delegate, category和subclass

    因为自己在学习这三个概念的时候,实在是走了很多的弯路,而且当我意识到这些概念在cocoa中很重要时,我便更糊涂了…或许从C++或者Java转过来的高手一看就明白,所以高手您随便拍砖,指正我的错误:新手 ...

  9. hiho拓扑排序专题 ——第四十八、四十七周

    拓扑排序·一 分析: 此题就是求一个有向图中是否存在环. 如存在环则输出"Wrong", 若不存在环, 说明课程安排的合理,输出"Correct". 题中的提示 ...

  10. 第六十六篇、OC_Sqlite数据库操作

    #import <Foundation/Foundation.h> #import <sqlite3.h> #define kFilename @"data.sqli ...