熟悉PA的请进,帮我修改一个模块!

gnfzc 2005-10-20 08:44:44
我的网站用的是PA文章管理系统,设置了游客无权浏览文章,
游客点击文章链接时会出现一个“你没有权限。。。”这样的页面,
我希望在这个页面显示该文章的“内容简介”,
该怎样修改?要改哪个PHP文件?
改article.php好象不行,也许是我的方法不对吧?
请各位高手赐教。
谢谢!
————本想200分倾囊请教,给分才发现给不了这么多。:(
...全文
382 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gnfzc 2005-10-21
  • 打赏
  • 举报
回复
对不起,楼上的<tr><td>$description[description]:(:(:(:($articletext[articletext</td></tr>一行是我测试时加进的,忘删除了。
gnfzc 2005-10-21
  • 打赏
  • 举报
回复
nopermission
nopermission_reason_notlogin
nopermission_logincode
nopermission_logoutcode
等是一些模板,使一些html代码,可以在后台修改。

如nopermission模板的内容是:
<html>
<head>
<title>$phparticletitle</title>
$headinclude
</head>
$style[body]
$header
<form name="form" method="post" action="$phparticleurl/member.php">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="$style[tablecellspacing]" cellpadding="4">
<tr><td>$description[description]:(:(:(:($articletext[articletext]</td></tr>
<tr>
<td width="50%">
<table width="80%" border="0" cellspacing="0" cellpadding="4" align="center">
<tr>
<td nowrap><img src="$phparticleurl/$style[imagesfolder]/warning.gif" border="0" align="absmiddle"><span class="normalfont"><b>对不起,你没有这个权限.原因可能如下</b></span></td>
</tr>
<tr>
<td><span class="normalfont">
<ul>
$reasonbit
</ul></span>
</td>
</tr>
</table>
</td>
$login
</tr>
</table>
</td>
</tr>
</table>
</form>
$footer
</body>
</html>

我对PHP和MYSQL都还是刚接触,不只这些是否对帮助解决问题是否有用,一并贴出,供参考。
gnfzc 2005-10-21
  • 打赏
  • 举报
回复
谢谢热心帮助!

function show_errormessage($templatetitle="") {

global $style;
global $header,$headinclude,$footer,$phparticleurl,$phparticletitle,$onlineuser,$webmaste
rmail,$version;
global $username_length_min,$username_length_max,$password_length_min,$password_length_ma
x;
global $message_length_max;
global $comment_title_limit,$comment_message_limit;


//echo $templatetitle;
eval("\$errormsg = \"".gettemplate("$templatetitle")."\";");
eval("dooutput(\"".gettemplate('error')."\");");
exit;

}




function show_nopermission($reasons = array()) {
global $header,$headinclude,$footer,$pauserinfo,$phparticletitle,$phparticleurl,$url,$sty
le;

if ($pauserinfo[userid]==0) {
eval("\$reasonbit .= \"".gettemplate("nopermission_reason_notlogin")."\";");
eval("\$login = \"".gettemplate("nopermission_logincode")."\";");
} else {
eval("\$login = \"".gettemplate("nopermission_logoutcode")."\";");
}
if (!empty($reasons) AND is_array($reasons)) {
foreach($reasons AS $reason) {
eval("\$reasonbit .= \"".gettemplate("$reason")."\";");
}
}

eval("dooutput(\"".gettemplate('nopermission')."\");");
}

szhnet 2005-10-21
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4338/4338855.xml?temp=.8305628
xuzuning 2005-10-21
  • 打赏
  • 举报
回复
贴出函数
show_errormessage 和 show_nopermission 的代码
xuzuning 2005-10-20
  • 打赏
  • 举报
回复
没有用过且手边也没有“PA文章管理系统”
不过跟随我的思路,应该是能够解决你的问题的!
1、“游客点击文章链接时”沿该连接打开相应的程序,并贴出该文件的嵌入文件的名字
2、或贴出该文件中你认为是做“用户权限”判断的代码片段

等待.....
玄之丞 2005-10-20
  • 打赏
  • 举报
回复
不熟悉PA,
不过有输出好办,你在article.php 加几个输出,看看到哪输出的,再顺着查,就比较容易了。
gnfzc 2005-10-20
  • 打赏
  • 举报
回复
以下是PA数据库结构pa_article和pa_articletext两个表的结构,其中pa_article.description是文章摘要,pa_articletext.articletext是整篇文章的内容。

pa_article表:
+-------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+----------------+
| articleid | int(10) unsigned | | PRI | NULL | auto_increment |
| sortid | int(10) unsigned | | | 0 | |
| title | varchar(100) | | MUL | | |
| source | varchar(50) | YES | | NULL | |
| author | varchar(50) | YES | | NULL | |
| contact | varchar(50) | YES | | NULL | |
| description | text | | | | |
| views | int(10) unsigned | | | 0 | |
| date | int(10) unsigned | | MUL | 0 | |
| totalscore | int(10) unsigned | | | 0 | |
| voters | int(10) unsigned | | | 0 | |
| imageid | int(10) unsigned | | | 0 | |
| lastupdate | varchar(100) | YES | | NULL | |
| editor | varchar(50) | YES | | NULL | |
| userid | int(10) unsigned | | MUL | 0 | |
| visible | tinyint(1) unsigned | | | 1 | |
| keyword | varchar(100) | YES | | NULL | |
| comments | int(10) unsigned | | | 0 | |
+-------------+---------------------+------+-----+---------+----------------+

pa_articletext表:
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| subhead | varchar(100) | | | | |
| articleid | int(10) unsigned | | MUL | 0 | |
| articletext | text | | | | |
| displayorder | tinyint(3) | | MUL | 1 | |
+--------------+------------------+------+-----+---------+----------------+
gnfzc 2005-10-20
  • 打赏
  • 举报
回复
谢谢各位。

xuzuning(唠叨)大侠:
我对PHP和MYSQL都还是初次接触,大家又没有用过PA(phpArticle),
我尝试详细解说一下问题,希望能表达清楚,让您帮助我解决问题:

注册会员点击id为100的文章,IE地址栏中出现地址是

http://www.XXX.com/article.php?articleid=100,正常显示文章;
游客点击同样的文章链接,IE地址栏中显示的地址没有变化,
但内容却变成了“对不起,你没有这个权限.原因可能如下。。。。。”
因此,因此我猜测要修改源文件article.php,

article.php文件中有以下几句

if (empty($article)) {
$article = validate_articleid($articleid);
}
if (!$article[visible]) {
show_errormessage("error_invalid_articleid");
}

if (!$pauserinfo[isadmin] AND !$pauserinfo[canviewarticle]) {
show_nopermission();
}

我注释掉最后三句进行测试,发现这几句就是做“用户权限”判断的代码,调用了后台nopermission模块和其他一些模块。

其他代码中:
$articletext = $DB->fetch_one_array("SELECT subhead,articletext
FROM ".$db_prefix."articletext
WHERE articleid='$articleid'
ORDER BY displayorder,id LIMIT

$offset,1");
是显示整篇文章内容的,变量是$articletext[articletext]。

我尝试用以下代码可以在显示整篇文章内容的页面显示“文章摘要”:
$description = $DB->fetch_one_array("SELECT description FROM

".$db_prefix."article WHERE articleid='$articleid'");
(使用变量$description[description])
但把它加到上面所说的nopermission模块却不能显示。
gu1dai 2005-10-20
  • 打赏
  • 举报
回复
没用过。

修改配置文件,
打开配置管理界面,修改访问权限

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧