Posts Tagged ‘discuz’

Discuz! 找回密码提示“账户资料不匹配,不能使用取回密码功能”问题

2012年7月20日

最近处理问题,遇到站长反馈,有部分用户出现找回密码提示“抱歉,您填写的账户资料不匹配,不能使用取回密码功能,如有疑问请与管理员联系”,出现这个问题的原因大概是因为早前有过其它应用,当时对邮件地址大小写不做限制,现在填写邮箱及用户名找回密码的时候,程序里会把用户输入的邮箱处理成小写,那么就与UCenter中保存的用户邮箱匹配不上了,最后导致了这个错误。解决方法就是把从UCenter读出来的邮箱也处理为小写的字符串,要改哪里呢?看代码:
source/module/member/lostpassword.php文件,

	if($_GET['username']) {
		list($tmp['uid'], , $tmp['email']) = uc_get_user(addslashes($_GET['username']));
		if($_GET['email'] != strtolower($tmp['email']) { //这里加上strtolower小写函数处理就可以了。
			showmessage('getpasswd_account_notmatch');//这里就是报错提示
		}
		$member = getuserbyuid($tmp['uid'], 1);
	}

php文件拷贝脚本

2011年12月7日

最近在进行大量的文件对比工作,其中需要进行文件的提取,知道了文件列表后,一个一个复制起来很麻烦,写了个脚本,代码如下: (更多…)

家园相册flash进行批量上传功能的分析

2011年9月30日

最近在做的一个工具需要有批量图片上传功能,所以就分析了一下家园中flash批量上传功能,以便给自己的模块添加这个功能。
批量上传flash的页面的url是

  1. home.php?mod=spacecp&ac=upload&op=flash&albumid=0

通过URL分析到,我们要找的代码在 home_spacecp.php 中,我们看到在这个文件最后一行,把ac这个参数作为名称包含了一个include文件,ac参数的值是 upload ,所以我们要找的文件是 spacecp_upload.php (更多…)

后台文件校验工具原理

2011年8月31日

最近很多站点打了0817的补丁,出现页面500错误,或这漏出源代码。虽然不都是文件不完整造成的,但也有一部分是这样的。
有些站点修改过文件,或ftp工具上传过程中文件上传的不完整,就出现了这样那样的问题,找不到根源,还以为设置的问题。
如果站点出现所谓的乱码即漏出源码,或者不明原因空白了,第一个应该想到的就是文件校验,这个功能我发现很多人不用。如果站长自己不懂代码,更没改过源码,如果出现上述问题,那就得必须校验文件,因为你没动过,理论上是源文件完整的,如果校验出问题,哪些文件修改过,或丢失,传完整的文件覆盖都能解决问题。
我们看看文件校验工具如何工作的: (更多…)

Discuz!论坛数据库编码从latin1转换到gbk

2011年8月18日

1. 论坛装的比较早了,当时用的是 mysql 4 ,编码为 latin1
2. 由于后来的屡次升级,bbs 版本为 7.0 了,自然也用到了 Ucenter ,编码也是 latin1
3. 现在要装一个 UCHome , 安装的时候提示 Ucenter 编码不一致。请下载 latin1 版本的 UCHome .

想法和尝试如下:

1. 用mysqldump导出了,然后替换DEFAULT CHARSET为 gbk 。
这个方法可行,但这个数据库比较大,替换。。。还是放弃。
2. 打开 PMA ,修改表的整理为 gbk ,也失败了,我记得成功过的。。。。可能记错了,就是能用也不推荐,这样需要修改好多好多的字段,累死。。。
3. 看到bbs 后台 有一个强制字符,天真的选了 utf8 导出,然后做了一个 utf8 的论坛把数据导入,还是乱的,失败。但是奇怪的是 supesite 这样导出完全没有问题
4. 受到上面的启发,发现安照默认导出的sql文件是 ansi 编码的,而我需要的是gbk版本,文件保存格式也是 ansi 的,那么只要在导出的时候把修改一下导出生成 DEFAULT CHARSET 就好了。
by 圣帅