帝国cms二次开发实现会员登录验证,仅登录用户可查看内容
在帝国CMS二次开发中,判断会员是否登录可以通过以下方法实现: 1. 使用`$ecms_userid`变量获取当前登录用户的ID。 2. 将获取到的用户ID与数据库中的用户ID进行比较,如果相同则表示已登录。 3. 在需要判断会员是否登录的地方添加相应的代码逻辑。 以下是一个简单的示例代码: ```php if ($ecms_userid > 0) { // 已登录,显示内容 echo "欢迎会员:" . $ecms_username; } else { // 未登录,跳转到登录页面或提示用户登录 header("Location: login.php"); exit(); } ```
版本6.6
效果是:会员登录后才能看到手机号码,未登录时显示“登录后可见”
1、新建show.php文件,放到e目录里下面;
2、show.php内容以下:
<?phprequire("class/connect.php");include("class/db_sql.php");include("class/config.php");include("data/dbcache/class.php");$link=db_connect();$empire=newmysqlquery();$classid=intval($_GET['classid']);$id=intval($_GET['id']);$muserid=(int)getcvar('mluserid');//用户id$musername=RepPostVar(getcvar('mlusername'));//用户名$mgroupid=(int)getcvar('mlgroupid');//会员组idif($classid&&$id&&$class_r[$classid][tbname]&&$muserid){$r=$empire->fetch1("selectid,phonefrom{$dbtbpre}ecms_".$class_r[$classid][tbname]."whereid='$id'andclassid='$classid'limit1");if($r[id]){?>document.write('<lititle="<?=$r[phone]?>">手机:<?=$r[phone]?></li>');<?php}}else{?>document.write('<liclass="businessCard-embed-content-nologin"><span>手机:</span><spanclass="businessCard-embed-content-nologinIcon"></span><aid="businessCard-embed-login"href="#">登录后可见</a></li>');<?php}db_close();$empire=null;?>
3、内容模板显示调用:
<script src="[!--news.url--]e/show.php?classid=[!--classid--]&id=[!--id--]"></script>
4、上面的sql语句只是查询phone,其他字段自行修改(注:phone有两处地方的,如果修改要同时进行)
5、若是多字段,请参考:http://bbs.phome.net/showthread-13-89138-6.html