修正了本程序一个严重的Mistake!~好高兴~

#xiyue#
整整一下午的时间,从2点到5点,我都在苦苦查找!现在终于解决了~~
本程序安装之后,有一个很大的Mistake,(这个地方叫Error不合适,Bug也不合适,想了半天,叫Mistake吧)。整个错误如下:
论坛安装之后,无法修改发布的条目,也就是说无法修改内容。
修改界面可以出来,修改之后预览也没有问题,但是点击“发布”之后程序返回Index.php,修改没有成功。

经过仔细察看,发现content目录下的内容并没有被修改,可见修改程序运行错误。然后发现在根目录下产生了一个与被修改的文件名字相同的文件。打开这个文件察看,原来修改了这个文件!!修改之后的内容,写在了根目录下,并没有覆盖掉原来的文件。
因此考虑是修改时没有考虑到路径。
按照这个思路,从add.php开始,到add_cgi.php到script/sb_functions.php再到sb_entry.php。。。逐行检查,整整一下午,才找到出错地点:
sb_entry.php 行 89
——————————————
if ( $updateFile == true ) {
// Updating an entry
//We need to grab the date of the old entry.
//问题在这里.(省略骂人语句),无法实现修改文章。
//错误的原因是,write_entry()函数传递过来的参数$updateFile变量中没有包含文件的路径。只有文件名。因此无法实现更新。
//解决的思路是,根据文件名,研究出其存放目录,将错误修正。代码如下:
$dir1=substr($updateFile,-13,2);
$dir2=substr($updateFile,-11,2);
$updateFile='content'.$dir1.''.$dir2.''.$updateFile;
这样修改之后,程序运行正常,修改功能实现!!~~#shetou#

真不知道大名鼎鼎的赫然放在网上提供下载的Simple PHP Blog有如此明显且重大的错误
不知道其他下载使用此程序的人是否发现了此问题。
想上他们的官方网站去报告这个错误,但是E文网站是在费尽,找了半天找不到留言的地方,只好拉倒了,发在论坛上大家自己学习吧~~

rznqp@163.com 一起PHP站长 2006年3月

发表评论

邮箱地址不会被公开。 必填项已用*标注

You must enable javascript to see captcha here!