熟悉PA的请进,帮我修改一个模块! 不熟悉PA,不过有输出好办,你在article.php 加几个输出,看看到哪输出的,再顺着查,就比较容易了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢各位。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模块却不能显示。 以下是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 | |+--------------+------------------+------+-----+---------+----------------+ 贴出函数show_errormessage 和 show_nopermission 的代码 http://community.csdn.net/Expert/topic/4338/4338855.xml?temp=.8305628 谢谢热心帮助!function show_errormessage($templatetitle="") { global $style; global $header,$headinclude,$footer,$phparticleurl,$phparticletitle,$onlineuser,$webmastermail,$version; global $username_length_min,$username_length_max,$password_length_min,$password_length_max; 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,$style; 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')."\");");} nopermissionnopermission_reason_notloginnopermission_logincodenopermission_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都还是刚接触,不只这些是否对帮助解决问题是否有用,一并贴出,供参考。 对不起,楼上的<tr><td>$description[description]:(:(:(:($articletext[articletext</td></tr>一行是我测试时加进的,忘删除了。 ImageCreateFromjpeg这个函数的是不是只能改变已经存在的图片 PHP如何post没有参数名的数据? 有用过Spreadsheet_Excel_Reader() 这个类的吗?请教个问题。 新手提问! 你能告诉我,我相信你!!! 点PHP页面就成了下载文件,请问怎么改 急问:如何用最简单的方法把以下数据库中的数字调换位置? php的小问题 如何升级PHP?我从406升级到412,就出错了。 [^a-zA-Z0-9\u4e00-\u9fa5\s]我用这个匹配符号,php 中preg_replace总是报错,怎么破? 请教高手:关于php访问其他语言接口的问题 各位GG,小妹请帮助
我对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模块却不能显示。
+-------------+---------------------+------+-----+---------+----------------+
| 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 | |
+--------------+------------------+------+-----+---------+----------------+
show_errormessage 和 show_nopermission 的代码
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')."\");");
}
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都还是刚接触,不只这些是否对帮助解决问题是否有用,一并贴出,供参考。