时间:2021-07-01 10:21:17 帮助过:4人阅读
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) { //将tg_active设置为actived _query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1"); if (mysql_affected_rows() == 1) { mysql_close(); _location('账户激活成功','login.php'); } else { mysql_close(); _location('账户激活失败','register.php'); } } else { _alert_back('非法操作'); }}
检查了一下你的代码,应是
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC))
此段就发生问题,你确定有执行到_query阶段
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) { //将tg_active设置为actived _query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1"); if (mysql_affected_rows() == 1) { mysql_close(); _location('账户激活成功','login.php'); } else { mysql_close(); _location('账户激活失败','register.php'); } } else { _alert_back('非法操作'); }
嗯 是的 我去表里看过了 也试了好多次 我也有打印出mysql_fetch_array 有值
就你贴出的代码而言,是不可能出现你说的情况的
因为
_query("UPDATE tg_user SET ....
和
_alert_back('非法操作');
分属
if (mysql_fetch_array(_query("SELECT tg_active FROM...
的两个分支
不可能同时被执行!
因此,可以认为你实际运行的不是这段代码
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC){ echo "ok"; } else { _alert_back('非法操作'); }}
就你贴出的代码而言,是不可能出现你说的情况的
因为
_query("UPDATE tg_user SET ....
和
_alert_back('非法操作');
分属
if (mysql_fetch_array(_query("SELECT tg_active FROM...
的两个分支
不可能同时被执行!
因此,可以认为你实际运行的不是这段代码
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC){ echo "ok"; } else { _alert_back('非法操作'); }}
最新又出现的一个情况是重启好几次电脑后,再打开项目后,第一个注册的可以激活,后面的就出现非法操作了
我都晕了 怀疑是不是电脑系统有问题了
你打印出 __FILE__ 和 __LINE__ 就可知道你找错了地方
还是不行, 算了 先不找了 等一段时间再看看吧 谢谢你们2位了