在phpcms v9中我们如何做到在任意模块判断会员登录状态,并且可以静态判断会员登录状态呢?即可以用javascript判断会员的登录状态!
在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的
//判断登录状态
jQuery(document).ready(function($){
var screenWidth = $(window).width();
if(screenWidth < 1024 ){
$.getJSON("http://www.foshang.net/index.php?m=member&c=checklogin&a=init&jsoncallback=?", function(data){
if(data=='1'){
$('#showdiv').show(); //显示div
}else{
$("header .mobile-user").html("<a href='http://www.foshang.net/index.php?m=member&c=index&a=login&forward='></a>");
}
});
}
});
这样即解决了任意模块调用判断会员登录状态,并且二级域名中使用也没有关系,也就是解决了跨域问题!
相关文章
利用自带JS完成PHPCMS V9的AJAX登录2018-10-21