phpcms V9靜態判斷會員登陸狀態的方法

phpcms v9如何在任意地方判斷會員的登陸狀態呢?在php中是比較好判斷的,代碼以下javascript

<?phpphp

if (!$_userid){java

echo"會員沒有登陸";jquery

}elseajax

{json

echo"會員登陸了";跨域

}cookie

?>圖片

但這代碼也有侷限性,在phpcms V9的黃頁模塊中無效!ip

在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的圖片頻道的查看原圖,沒有登陸會提示登陸後查看,登陸後就不會提示!以及黃頁頻道會員狀態的判斷

相關文章
相關標籤/搜索