详情页

帝国CMS判断会员是否登录及登录后才能看到内容的方法

时间:2023年10月14日

编辑:佚名

需求:发布的信息内容和相关内容游客可以查看,想隐藏信息发布人的名字和联系方式,需要登陆才能查看
效果是:会员登录后才能看到手机号码,未登录时显示“登录后可见”
思路:
做个php文件用于显示隐藏的内容。在这个php文件里验证权限并显示
内容模板用:<script src="show.php"></script>来显示隐藏的内容
步骤:
1、新建show.php文件,放到e目录里下面;
2、show.php内容以下:
代码如下:
自己解决了多字段调用:
如果是多字段放在一起,用这个代码:
<?php
require("class/connect.php");
include("class/db_sql.php");
include("class/config.php");
include("class/class.php");
$link=db_connect();
$empire=new mysqlquery();
$classid=intval($_GET['classid']);
$id=intval($_GET['id']);
$muserid=(int)getcvar('mluserid');//用户id
$musername=RepPostVar(getcvar('mlusername'));//用户名
$mgroupid=(int)getcvar('mlgroupid');//会员组id
if($classid&&$id&&$class_r[$classid][tbname]&&$muserid)
{
$r=$empire->fetch1("select id, mycontact, address, companyname from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$id' and  classid='$classid' limit 1");
if($r[id])
{
?>
document.write('<?=$r[mycontact]?>', '<?=$r[address]?>', '<?=$r[companyname]?>');
<?php
}
}
else
{
?>
document.write('登录后才能查看');
<?php
}
db_close();
$empire=null;
?>
如果多字段不在同一个位置,用这个:
复制几个show.php文件,改名,在模板页用——
比如:<script src="[!--news.url--]e/show_email.php?classid=[!--classid--]&id=[!--id--]"></script>这样
<script src="[!--news.url--]e/show_myarea.php?classid=[!--classid--]&id=[!--id--]"></script>
不过单一字段代码相应地要替换掉字段:

select id,title和<?=$r[title]?>'中的title
完整的单一字段title代码例子:
把show.php放到e目录里,内容为如下:
<?php
require("class/connect.php");
include("class/db_sql.php");
include("class/config.php");
include("class/class.php");
$link=db_connect();
$empire=new mysqlquery();
$classid=intval($_GET['classid']);
$id=intval($_GET['id']);
$muserid=(int)getcvar('mluserid');//用户id
$musername=RepPostVar(getcvar('mlusername'));//用户名
$mgroupid=(int)getcvar('mlgroupid');//会员组id
if($classid&&$id&&$class_r[$classid][tbname]&&$muserid)
{
        $r=$empire->fetch1("select id,title from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$id' and  classid='$classid' limit 1");
        if($r[id])
        {
        ?>
document.write('标题:<?=$r[title]?>');
        <?php
        }
}
else
{
?>
document.write('登录后才能查看');
<?php
}
db_close();
$empire=null;
?>
内容模板显示调用
<script src="[!--news.url--]e/show.php?classid=[!--classid--]&id=[!--id--]"></script>
上面的sql语句只是查询title,其他字段自行修改
文章来自:http://bbs.phome.net/showthread-13-89138-0.html
相关文章
猜你需要