免费PHP万能建站系统_社区团购SaaS_商城系统_软件开发_虚拟币交易所系统_矿机系统_微信钻石投票系统_成品源码

标题: 会员注册无法登陆 [打印本页]

作者: a81004672    时间: 2015-12-29 08:57
标题: 会员注册无法登陆
前几天提交了问题,PHP版本升级问5.3版本了,会员还是无法登陆,后台也没有显示

作者: admin    时间: 2015-12-29 09:50
是无法登录 还是无法注册?

加我们QQ77701950 帮你看一下
作者: admin    时间: 2016-1-1 10:37
问题解决了,解决方案如下:
如果碰到这种情况的朋友,就知道怎么处理了

问题: 前台注册会员 提示注册成功 但是后台没有记录

通过我们排查 发现一个问题,就是在注册的时候 QQ必须填写. 如果QQ不填写 那么虽然提示注册成功了.但后台没有记录
因为我们的QQ是  int 类型的字段
上网一查,原来 Int类型的字段  在mysql 5.0 或5.1 的数据库中有BUG  不能为 空

我们开发的环境是MYSQL5.5  


那么我们的修复方法有2种:
第一种,你用的虚拟主机,无法修复Mysql的BUG怎么办?
只能放弃填写QQ 或 强制填写QQ
1. 放弃填写QQ 打开/client/user/ourphp_play.class.php   把110行删掉
2. 强制填写QQ 打开/templats/user/cn_reg.html 把 <input type="text" name="OP_Userqq" class="input" /> 改成
<input type="text" name="OP_Userqq" class="input" datatype="*" />

但是这种治标不治本

如何修复MYSQL 这个BUG呢?

mysql int类型数据插入空值时报错,调整sql-mode

insert into log values('','admin','31','physics')
这样写就会报错:
Incorrect integer value: '' for column 'id' at row 1
这种应该是版本问题,尤其是虚拟主机。
把''改成null不会出错:

这种问题一般mysql 5.x上出现。我用的mysql5.1,后面查询得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode。如果已经安装好了的,就在my.ini中查找sql-mode,

默认为       sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可。




欢迎光临 免费PHP万能建站系统_社区团购SaaS_商城系统_软件开发_虚拟币交易所系统_矿机系统_微信钻石投票系统_成品源码 (https://www.ourphp.net/club/) Powered by Discuz! X3.2