phpcms V9如何判断用户是否登录以及登陆后的标签写法问题

首先要获取userid

{php$userid=param::get_cookie('_userid');}​

然后再判断是否为空

{if $userid}。。。这里写已经登录之后的代码。。。{else}。。。这里写已经登录之后的代码。。。{/if}

​搞定。

如果想要扩展更多的功能,比如内容增加  登录后查看联系方式  的功能,此时我们需要声明一个变量,用来控制登录后的返回页面。

$forward = trim($url);

未登录时的代码

登录查看联系方式

注意链接地址里面要有参数forward={urlencode($url)}   这样用户登录后才能成功返回到之前的内容页面。

完整的代码

{php$userid=param::get_cookie('_userid');$forward=trim($url);}

{if$userid}

登录后的内容

{else}

<<span style="">ahref="{APP_PATH}index.php?m=member&c=index&a=login&forward={urlencode($url)}&siteid={$siteid}"target="_top">

登录查看联系方式

<<span style="">/a>

{/if}

但是如果我们想在首页想要实现的话用这样的方法就行不通了,因为首页为静态,我们可以通过写一个方法来实现。

打开/phpcms/modules/content/index.php  增加

//首页用户登录

publicfunctionmember(){

$_username=param::get_cookie('_username');

$_userid=param::get_cookie('_userid');

$siteid=isset($_GET['siteid'])?intval($_GET['siteid']):'';

//定义站点id常量

if(!defined('SITEID')){

  define('SITEID',$siteid);

}

$snda_enable=pc_base::load_config('system','snda_enable');

includetemplate('member','afterlogin');

}

方法名可以自己根据实际情况来定义。然后在首页模板上需要显示的位置增加​

< script type="text/javascript">document.write('< iframe src="{APP_PATH}index.php?m=content&c=index&a=member&forward='+encodeURIComponent(location.href)+'&siteid={get_siteid()}" allowTransparency="true"  width="125" height="98" frameborder="0" scrolling="no">< /iframe>')< /script>​

************************************************** *********************** ***************** 每个文章内容都是测试有效的
原文地址:https://www.cnblogs.com/beijinglaolei/p/8111777.html