如何修复我的脚本:更新用户密码(php mysql)(没有错误,但不起作用)

JBower

我有一个更改密码脚本,该脚本应该使用假定匹配的用户密码重置用户提供的值,但是由于用户无法使用为其提供的密码登录,因此该脚本有一些缺陷。

我不确定有什么问题,因为我还有一个add_user脚本,该脚本用于创建用户帐户。生成密码(哈希)的代码是相同的,并且数据已成功放入数据库,所以我真的不知道是什么引起了问题。我猜想它与PHP哈希之前提供的数据有关,因此在数据库中看起来一切都很好,因为它已经被哈希了,但是我想如果我是以明文形式存储的话,那不是与用户输入的内容完全相同,否则脚本将正常工作...

我整天都在网站上工作,所以我真的很努力在这里发现错误。

我认为我的脚本曾经可以使用,因为这是我第一次注意到该问题,但是我不记得特别对该脚本进行过任何更改,因此无法弄清楚为什么它突然停止工作。

session_start();
define('MyConst', TRUE);
include "includes/server.php";

if (!(isset($_SESSION['name']) && $_SESSION['name'] != ''))
{
    header("location:login.php");
}


$con = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME) or die(mysqli_error($con));

$password1 = mysqli_real_escape_string($con, $_POST['newPassword']);
$password2 = mysqli_real_escape_string($con, $_POST['confirmPassword']);
$username = mysqli_real_escape_string($con, $_SESSION['name']);
$passwordhashed = password_hash("$password1", PASSWORD_DEFAULT);


if ($password1 <> $password2)
{
    echo "your passwords do not match";
    $referrer = $_SERVER['HTTP_REFERER'];
    header ("Refresh: 2;URL='$referrer'");
}

else if (mysqli_query($con, "UPDATE accounts SET password='$passwordhashed' WHERE username='$username'"))
{
    echo "You have successfully changed your password.";
    $referrer = $_SERVER['HTTP_REFERER'];
    header ("Refresh: 2;URL='$referrer'");
}
else
{
    mysqli_error($con);
}
mysqli_close($con);

如果更改成功,则应检查密码是否匹配并回显“您已成功更改密码”,然后重定向。

JBower

表单页面缺少一种方法,因为我忘记了添加一种方法,因此当脚本的其余部分引用_POST时,它默认为_GET。

修复只是将方法添加为发布。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

布尔索引器脚本没有错误但不起作用

尝试更新输出没有错误,但不起作用

更新查询不起作用,但没有错误

PHP中的PDO不起作用-没有错误

PHP MySQL 注册表不起作用,没有错误

我的模拟时钟即使没有错误也可以处理Java脚本不起作用

Ical导入事件不起作用事件我的ical文件没有错误

我的 vba 代码似乎不起作用,即使没有错误

角度材料在我的项目中不起作用,也没有错误

Net Core MVC Dockeri 文件不起作用。我的本地项目没有错误

为什么我的 AlertDialog 即使没有错误也不起作用?

PHP 中的 UPDATE QUERY 没有错误,但它不起作用

PHP move_uploaded_file不起作用,但是也没有错误?

AJAX PHP数据库不起作用没有错误

在Mysql 5.7中更新用户密码

(顺便说一句,没有错误)我的清除命令为什么不起作用?

我在 Verilog 中编写了这段代码,没有错误消息,但它不起作用

Onclick 与 Fragment ,没有错误,但不起作用

即使获取成功消息php,更新用户帐户信息也不起作用

没有抛出错误但 INSERT 语句不起作用(php,mysql)

mysql查询不起作用,但是没有错误

如果用户当前的 FCM 令牌不再有效,我该如何更新用户的 FCM 令牌?

Mysql更新用户名

在Ubuntu上添加了新用户,设置密码不起作用?

ArchLinux |开发人员 创建新用户帐户后,登录密码不起作用

没有错误,但不起作用,当文本更改Tkinter时运行功能

(Discord.py-rewrite) 命令执行没有错误,但不起作用

让用户:用户=新用户(....)为什么这对我不起作用?

运行我的poweshell脚本会产生错误,并且不会加入新用户