phpcms判断用户是否登录以及登陆后的标签写法问题
[ 2016/03/13, Phpcms , 2906阅, 0评 ]

首先要获取userid

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

然后再判断是否为空

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

搞定。

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

$forward = trim($url);

未登录时的代码

<a href=”{APP_PATH}index.php?m=member&c=index&a=login&forward={urlencode($url)}&siteid={$siteid}” >登录查看联系方式</a>

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

完整的代码

{php $userid = param::get_cookie('_userid'); $forward = trim($url);}
{if $userid}
登录后的内容
 {else}
 <a href="{APP_PATH}index.php?m=member&c=index&a=login&forward={urlencode($url)}&siteid={$siteid}" target="_top">
登录查看联系方式
</a>
{/if}

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

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

//首页用户登录
public function member() {
$_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');
include template('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>

此方法是借鉴了头部mini登录条登录的用法

相关:

<!-- 用户登录开始 -->
<?php
//读取用户信息
$ypzy_userid = param::get_cookie('_userid');
if(!empty($ypzy_userid)){
$ypzy_memberinfo=get_memberinfo($ypzy_userid);
}
?>
{if $ypzy_userid}
<!-- 登陆之后 -->
<span onclick="window.location='{APP_PATH}index.php?m=member&c=index'">{$ypzy_memberinfo['username']}</span>
<span onclick="window.location='{APP_PATH}index.php?m=member&c=index'">会员中心</span>
{else}
<!-- 登陆之前 -->
<span onclick="window.location='{APP_PATH}index.php?m=member&c=index&a=login&siteid=1&forward=<?php echo rawurlencode(get_url());?>'">登陆</span>
<span onclick="window.location='{APP_PATH}index.php?m=member&c=index&a=register&siteid=1&forward=<?php echo rawurlencode(get_url());?>'">注册</span>
{/if}
<span onclick="window.location='{APP_PATH}index.php?m=member&c=index&a=cart'">购物车</span>
<!-- 用户登录结束 -->

有朋自远方来...评论一下呗O(∩_∩)O