我在文章系統模型中添加了兩個字段,member:普通會員可以查看的內容;vip:VIP會員可以查看的內容
我想實現的效果是:
游客:打開網頁后,看到[newstext]字段里的內容
普通會員:登陸后,看到[member]字段里的內容(但[newstext]字段和[vip]字段里的內容就不顯示了)
VIP會員:登陸后,看到[vip]字段里的內容(但[newstext]字段和[member]字段里的內容就不顯示了)
1、游客打開網頁后,[newstext]字段里的內容沒有顯示出來,正文處是一片空白。
2、VIP會員登陸后,正文處[vip]字段和[member]字段里的內容都顯示出來了,而不是只顯示[vip]字段的內容。
下面是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,member from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$id' and classid='$classid' limit 1");
if($r[id])
{
?>
document.write('<?=$r[member]?>');
<?php
}
}
else
{
?>
document.write('<?=$r[newstext]?>'); 這里原來是登錄后才能查看這句話,我給改成了<?=$r[newstext]?>
<?php
}
下面這段 if / else 原來的文件里沒有,是我復制上面那段然后修改的,調用[vip]這個字段的內容
if($classid&&$id&&$class_r[$classid][tbname]&&$muserid)
{
$r=$empire->fetch1("select id,vip from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$id' and classid='$classid' limit 2"); 這里我將會員組ID由1改成了2
if($r[id])
{
?>
document.write('<?=$r[vip]?>');
<?php
}
}
else
{
?>
document.write('<?=$r[newstext]?>');
<?php
}
db_close();
$empire=null;
?>
修改欄目,把內容頁擴展名改為.php
然后模板里加php驗證代碼
模板加這個代碼
<?
if(!$_COOKIE[ecmsmlgroupid])
{
echo "您不是會員";
}
elseif($_COOKIE[ecmsmlgroupid]==1)
{
echo"普通會員";
}
elseif($_COOKIE[ecmsmlgroupid]==2)
{
echo"VIP會員";
}
?>
ecms為你的cookie前綴,可以看e/class/config.php
此方法已失效