F2Cont 1.1评论及回复页部分有问题代码修改
作者: ふわふわ鳳梨派 日期: 2010-03-06 23:15
今天在回复别人的评论的时候,正好看到评论页有一处小BUG,具体表现在如果回复时不输入网址信息的话,会自动输入http://作为网址信息。这样就导致了评论里始终有网址这个链接,打开reply.php和replylogs.inc.php,查看http://所在的代码,具体如下:
- if (isset($_POST['homepage'])) {
- if (strpos(";".$_POST['homepage'],"http://")<1) {
- $_POST['homepage']="http://".$_POST['homepage'];
- }
- } else {
- $_POST['homepage']="";
- }
基本上两个文件里都有相同的代码。找到问题原点的话,接下来就是分析代码存在什么问题了,经过我一下午的逻辑分析,我发现问题出在isset上。这里的isset的意思就是如果网址存在信息,那么空信息算信息吗?显然,系统对代码解析后,反馈出来的结果告诉我们,为空信息的时候,这里的isset也是把它包含进去的。这样的话就等于说,如果评论时网址栏没输入任何信息的话,依然会执行{}中的代码。而在{}中的代码,用的是如果在网址函数中找不到http://的信息时,自动添加http://,因为这里用的算法是<1,也就是说0和为空都要添加http://,所以也就造成了如果评论时网址栏不输入任何信息的话,系统会自动添加http://并且记录到数据库中。
找到了问题的根本的话,就好解决了。抛弃isset函数,用!empty函数作非空判断。只要把isset更改成!empty就成了。具体代码如下:
- if (!empty($_POST['homepage'])) {
- if (strpos(";".$_POST['homepage'],"http://")<1) {
- $_POST['homepage']="http://".$_POST['homepage'];
- }
- } else {
- $_POST['homepage']="";
- }
最后考虑到留言板还有编辑/删除页也有网址输入栏,所以依样画葫芦,找到guestbook.inc.php和editdel.php,打开后找到http://所在,然后把所有isset改成!empty,这样就把问题全部解决了。
不过这些弄完之后我发现了一个新的问题,在编辑/删除页里。如果在此页中修改留言的网址栏,比方把http://www.test.com改成www.test.com,系统会自动补充http://。但是如果是修改评论的话,就不会自动补充。解决的办法其实非常简单。打开editdel.php,找到如下代码:
- if ($_GET['load']=="read" && is_numeric($postid) && is_numeric($id) && is_numeric($_GET['page'])){//评论
- $Title=$strCommentsEditTitle;
- $posturl="$PHP_SELF?load=".$_GET['load']."&page=".$_GET['page'];
- $op_table=$DBPrefix."comments";
然后把上面这段代码之后,“//留言”这行代码之前的代码替换成如下代码,就可以解决了。不知道为什么,留言处代码被F2Cont团队修正了,评论处却没有。
- if (!empty($_POST['homepage'])){
- $_POST['bookface']=!empty($_POST['bookface'])?$_POST['bookface']:"face1";
- if (strpos(";".$_POST['homepage'],"http://")<1) {
- $_POST['homepage']="http://".$_POST['homepage'];
- } else {
- $_POST['homepage']=$_POST['homepage'];
- }
- $op_update=",homepage='".encode($_POST['homepage'])."',email='".encode($_POST['email'])."',face='".substr(encode($_POST['bookface']),4)."'";
- }else{
- $op_update="";
- }
虽然都是些鸡毛蒜皮的小问题,而且最终我也都解决了,但是在过程中也折射出了我自身知识的匮乏。一个下午就泡在这个上面,最后发现仅仅是修改几个字就能完美解决。唉,今后我也会找点PHP知识来恶补一下,F2Cont 1.1应该还有很多值得修正的问题等着我去发现,并且把它解决掉!自己为自己先加油一下!
评论: 2 |
引用: 0 |
阅读: 435
发表评论
订阅
上一篇
返回
下一篇


标签:



































Twitter小栏目代码问题及博客的一些变更 (2010-03-05 22:11)
弦音(奶嘴腿)架设完毕及新功能使用说明 (2010-03-05 21:00)
架设Pixmicat贴图版成功以及空间访问问题 (2010-03-04 22:14)
F2Cont 1.0升级F2Cont 1.1 Built 090810成功! (2010-03-02 16:43)
F2blog的年龄插件修改及服务器PHP.ini时区设置 (2010-03-01 15:13)
F2Blog与17岁教…… (2010-02-17 20:11)
F2Blog评论及回复页面头像数量修改办法 (2010-02-16 10:41)
Windows 7初体验&若干问题总结 (2009-11-21 22:40)
F2Blog官网DIY代码数据 (2009-11-04 22:24)
F2Blog使用中,若干杂症的解决办法 (2008-12-20 17:48)