Php 不重置密码

Php 不重置密码,php,mysql,Php,Mysql,我想做一个重置密码脚本的事情,但它没有工作,因为某种原因它没有更新数据库 代码: 有许多错误,但主要错误有: 第64行: "UPDATE users SET password = '$new_pass' WHERE username = '$username' " 变量$username必须为空,因为此代码在具有以下条件的条件块内运行: 第9行: if (empty($username) && empty($userid) ) { 您可能想改用$user变量 接下来,第59行

我想做一个重置密码脚本的事情,但它没有工作,因为某种原因它没有更新数据库

代码:


有许多错误,但主要错误有:

第64行:

"UPDATE users SET password = '$new_pass' WHERE username = '$username' "
变量
$username
必须为空,因为此代码在具有以下条件的条件块内运行:

第9行:

if (empty($username) && empty($userid) ) {
您可能想改用
$user
变量

接下来,第59行:

$password_hash = better_crypt($password);
$password
未定义

最后,第78行:

if (mail ($getemail, $subject, $message, $headers)) {

$getemail
未定义

这无助于
错误报告(0)您也没有使用
mysqli\u error()
进行
mysqli\u query()
我确实删除了它…没有错误,所以您发布了大量看起来相当复杂的代码。代码中是否有特定部分不起作用?您的代码是否启用了错误报告功能?“我确实删除了它”-通过“删除”它也没有帮助。在打开PHP标记后立即将错误报告添加到文件顶部,例如
错误报告处于打开状态,在我的代码中唯一不起作用的部分是编辑数据库(插入新密码)。。。所以我猜问题与这个查询有关?谢谢。这是我犯的愚蠢的错误。它成功了。再次感谢你。很抱歉打扰你。还有一点:如果($email=$dbemail)是一个作业而不是一个比较,那么这将永远是真的。更新到if($email==$dbemail)可能有助于您的代码。另外,请阅读并为数据库查询使用变量绑定。您的代码现在不安全。没问题-将来如果您使用半正统IDE(有像Netbeans这样的好免费IDE,也有像phpstorm这样的好付费IDE),那么这些错误会自动为您突出显示
if (mail ($getemail, $subject, $message, $headers)) {