phpcms V9静态判断会员登录状态的方法-建站魔盒
phpcms v9如何在任意地方判断会员的登录状态呢?在php中是比较好判断的,代码如下
<?phpif (!$_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.boxcms.cn/index.php?m=member&c=checklogin&a=init&jsoncallback=?", function(data){if(data=='1'){//会员是登录了的,可以进行一系列操作如$('#showdiv').show(); //显示divwindow.open('http://www.bnwin.com','_self');//打开新页面}else{alert('需要登录后查看!');}});