phpcms V9静态判断会员登录状态的方法
2015-05-29 00:00
555 查看
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的图片频道的查看原图,没有登录会提示登录后查看,登录后就不会提示!以及黄页频道会员状态的判断
<?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的图片频道的查看原图,没有登录会提示登录后查看,登录后就不会提示!以及黄页频道会员状态的判断
相关文章推荐
- PHP获取搜索引擎关键字来源(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)
- 修正 phpcmsv9 VIP过期日期为1970
- [phpcms v9]自定义表单添加验证码验证功能
- PHP获取Cookie模拟登录CURL
- phpcms v9后台多表查询分页代码
- PHP提取身份证号码中的生日并验证是否成年的函数
- phpstorm 8 license key
- phpcms v9修改栏目描述的多行文本为编辑器方法
- phpcmsv9全站搜索,不限模型
- PHP去掉转义后字符串中的反斜杠\函数stripslashes
- PHPCMS v9栏目添加字段及描述编辑器修改方法
- PHPCMS 错误日志 Only variables should be passed by ...
- 在Intellij IDEA或者PhpStorm下用X-debug调试PHP
- QQ聊天机器人for PHP版 (登录,收、发消息)
- setcookie,getcookie,delcookie,setpostBgPic
- PHPCMS如何实现后台访问限制?
- phpcms v9 自定义伪静态的分页函数
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
- phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法
- php 与 C# 之间的DES加解密