Archive

Archive for the ‘代码调试’ Category

SupeSite 7.5 (1126)采集后,后台(资讯管理)看不见采集来的文章 修改办法

November 27th, 2009

SupeSite为 SupeSite 7.5正式版(1126)

比照数据库中的记录,发现采集后的文章没有 “type”字段内容。
于是打开 “admin” 目录下的 “admin_robots.php”
找到(大概在1151行)

//获取资讯分类
$clistarr = getcategory(‘news’);
$allcatarr = getcategory();

然后修改为

//获取资讯分类
$clistarr = getcategory(‘news’);
$allcatarr = getcategory(‘news’);

即可,但是已经采集回来的内容并不会显示出来,需要修改数据库中的记录
把“supe_spaceitems”中相应条目的“type”字段修改为“news”即可。

可以使用 下面的 SQL 语句修改

UPDATE `www`.`supe_spaceitems` SET `type` = ‘news’ WHERE `supe_spaceitems`.`itemid` =123 LIMIT 1 ;

其中 “123” 为文章ID号。

SNS, 代码调试 ,

HDWiki4.0.5标签Tags过滤危险网页代码修复办法

October 12th, 2009

环境:HDWiki4.0.5
描述:标签中的内容在被服务端“处理”时候没有被严格过滤(有一层关键字过滤),不过内容在发送到服务器前被客户端的js处理过,原版编辑器模板并没有正常使用上的问题。

前几天为HDWiki换个编辑器问题就出来了,由于偶的编辑器页面没有js处理,导致发送到服务器的Tags中的网页标签代码也被存储啦,然后查看词条页面的时候,就看到发送的网页代码效果了。

修复办法:打开control目录下的doc.php,找到
大概在178和315行

$doc['tags']=$_ENV['doc']->replace_danger_word($doc['tags']);

修改为

$doc['tags']=strip_tags($_ENV['doc']->replace_danger_word($doc['tags']));

即可。
同时建议把标题Title也进行同样的“过滤”(不过代码在Title里是没有太大危险性的,因为Title已经在服务端进行了转换处理)!

最后感谢“风吹过的夏天”同学的问题纠结和热心帮助。。

附注:PHP strip_tags函数说明
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。

strip_tags(string,allow)
参数 描述
string 必需。规定要检查的字符串。
allow 可选。规定允许的标签。这些标签不会被删除。

注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。

参考:PHP strip_tags() 函数

Wiki支持, 今日一点, 代码调试 ,

完美解决Discuz官方国庆模板页头广告错位方法

September 26th, 2009

【官方出品】官方国庆模板下载,支持 7.0+7.1 模板下载地址:http://www.discuz.net/viewthread.php?tid=1415994
【官方出品的国庆模板出现的问题解决办法】:http://www.discuz.net/thread-1418191-1-1.html
演示地址:http://bbs.luoyanglife.com/

顶部广告位错位解决办法:
打开:http://www.discuz.net/templates/2009/css_append.htm
复制源码到自己的国庆模板文件“css_append.htm”(因为在帖子下载的模板可能不是最新的,所以就。。)
不一样的地方可能就一个地方

#header .wrap下边的
#ad_headerbanner { margin: 25px 0px 10px; }

然后打开css_append.htm
查找

#header .wrap { padding: 0; height: 107px; }

在下面添加

#header #ad_headerbanner { margin-top:18px; }

后台更新缓存
这样可以解决顶端“登录状态”与“顶部广告”交叉显示(一部分被挡住)。

对于LOGO底部修改出现灰色的问题解决办法:
在PS中依次选择“图像”——“模式”——“索引颜色”,然后再导出为PNG图像或者GIF图像即可(为让IE6正常显示,建议用GIF图像)。

SNS, 代码调试 ,

让Discuz7默认“记住我的登录状态”,设置DZ7登陆 cookie 有效期

September 6th, 2009

目的1:设置登录界面“记住我的登录状态”复选框默认为选中状态(让登录页面自动标记“记住我的登录状态”)。
目的2:更改默认登陆 cookie 有效期。

Discuz版本:Discuz7.0

可以在logging.php中查找 $cookietimecheck

$cookietimecheck = !empty($_DCOOKIE['cookietime']) ? ‘checked=”checked”‘ : ”;

修改为

$cookietimecheck = !empty($_DCOOKIE['cookietime']) ? ‘checked=”checked”‘ : ‘checked=”checked”‘;

就可以默认“记住我的登录状态”(打勾状态)。

或者修改模板也是可以的
在login.htm中找

<input type=”checkbox” name=”cookietime” id=”cookietime” tabindex=”1″ value=”2592000″ $cookietimecheck  />

修改为

<input type=”checkbox” name=”cookietime” id=”cookietime” tabindex=”1″ value=”2592000″ checked=”checked” />

若想设置 cookie 有效期可设置上边这句里的“2592000”单位秒!

以上方法经过数据抓包已经验证为正确的。

今日一点, 代码调试 ,

Fiddler Web Debugger ,一款免费的Web调试工具

August 29th, 2009

本来是找“HttpWatch”的(一款支持IE和Firefox的网页Http协议嗅探插件)。
在Google的相关建议搜索里看到这个东东“Fiddler”,于是发现这款免费的Http嗅探工具。

看MSDN的介绍“Fiddler PowerToy – Part 2: HTTP Performance”,这款工具推出的目的是为了帮助网页加载的更快!
Fiddler可以嗅探HTTP(S)协议,与HttpWatch不同的是,Fiddler是免费的工具,HttpWatc是一个IE或Firefox的插件,而Fiddler是一个web调试代理,使用Fiddler嗅探IE的时候IE的网络(设置代理服务器设置中的Http和Secure(S))会被添加代理127.0.0.1:8888。停止嗅探可以把Fiddler切换到“Hide All”的状态。

Fiddler 可以让你记录并检查所有的http通讯,设置断点,对内容解码(AutoDecode),支持自定义的”user-agents”。

当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理中去。作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddler。

其实Firefox下的“Live http headers”和“Firebug”+Google 的“page speed”也是挺好使的。

Fiddler2,Get Fiddler!

今日一点, 代码调试 , , ,

认识PHP程序的“模板”机制

July 13th, 2009

刚刚把淘宝客频道弄成动态的啦,本来是需要8个静态页面的,现在只需要一个动态的php就可以啦。
这个过程结束后,感觉一下子明白啦PHP程序的“模板”机制!

第一遍:
代码完全是静态的,然后观察哪些代码是不需要“动态”出现的(各个页面都一样的部分),注释掉。

遍,加入获取请求的语句,然后判断请求的“关键字”,为Title部分赋值(SEO优化来的)。
这样子,keywords和description都已经确定啦。

接着怎样展现阿里妈妈的淘客代码呢?
感觉还是不好,于是重新写代码。。

使用switch语句来给不同的频道Title,Keywords和Description赋值,同时使用一个统一的变量获取阿里妈妈的频道标识。

这样子基本完成啦,然后按照顺序”echo”。淘宝客的动态展示已经可以正常使用啦。

第二遍:
也是以前不知道,这次领悟到的(所谓PHP程序的“模板”机制)。

本来要去生成静态页面的,然后发现人家的一个页面里很奇怪啊。
就是,有好几个PHP开始和结尾的标签

<?php    ?>

而且下边的标签内部直接就有个变量被echo出来了,难道变量在一个页面里是可以通用的(当然是要区分局部变量和全局变量的,现在还没去看PHP的语法说明)?

于是结合以往修改PHP模板的经验,把这个代码再次做啦调整。

第三遍:
获取动态请求和变量声明还有switch语句整到一个PHP标签里,放在头部。

然后按照标准HTML的格式写内容,需要动态调用的时候直接

<?php echo $bianliang;  ?>

因为这些变量已经完全获取啦相应的值啦,只需要在合适的地方插入就可以了。

临近OVER啦,然后就想到HDWIKI里的模板,还是Discuz的模板也是这样子调用的啊。
include_once “模板文件”

第四遍:
php代码和模板分离。

不过这个陶客代码实在是太短啦,我就放一个文件里啦。

感兴趣的可以到Google Code 下载代码或者在本博客下”/sa/taoke.zip”(链接可自行补全)。

演示地址:http://luoyanglife.com/taoke/

结束:这些东东对于学过PHP的朋友来说可能很基础,但是对于偶这个只会稍微修改模板的PHP野人来说就不知道啦(用到的才去翻来看)。

纯属个人记录,若朋友对代码有啥建议,还请多多指点。鄙视我的就飘过吧

今日一点, 代码调试