PHP怎么修改当前用户的密码,PHP实现当前登录用户修改密码

// 如果提交了表单

if (isset($_POST['edit'])) {

$pwd = trim($_POST['pwd']);

$pwd1 = trim($_POST['pwd1']);

$pwd2 = trim($_POST['pwd2']);

$sql = "select * from `admin` where password='".md5($pwd)."' and username='".$_SESSION['username']."'";

//将$sql交由conn.php处理了

require_once('../../conn.php');

if (mysqli_num_rows(mysqli_query($conn,$sql))) {

if ($pwd1==$pwd2) {

$sql="update `admin` set password='".md5($pwd2)."' where username='".$_SESSION['username']."'";

//将$sql交由conn.php处理了

require_once('../../conn.php');

if (mysqli_query($conn,$sql)) {

echo "

恭喜,密码修改成功!

echo '';

}

}

else {

echo "

两次输入的新密码不同,请重新输入!

echo '';

}

}

else {

echo "

旧密码不正确,请重新输入!

echo '';

}

}

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用户修改密码可以通过以下步骤实现: 1. 提供一个表单让用户输入旧密码和新密码。 2. 在后台接收表单提交的数据,验证旧密码是否正确。 3. 如果旧密码正确,将新密码加密后更新到数据库中。 4. 返回一个修改密码成功的提示信息给用户。 以下是一个简单的 PHP 代码示例: ```php <?php session_start(); // 开启会话 // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); if (!$conn) { die("连接失败:" . mysqli_connect_error()); } // 处理表单提交 if ($_SERVER["REQUEST_METHOD"] == "POST") { $old_password = $_POST["old_password"]; $new_password = $_POST["new_password"]; // 查询当前用户密码 $user_id = $_SESSION["user_id"]; $sql = "SELECT password FROM users WHERE id='$user_id'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) == 1) { $row = mysqli_fetch_assoc($result); $password_hash = $row["password"]; // 验证旧密码是否正确 if (password_verify($old_password, $password_hash)) { // 更新密码到数据库 $new_password_hash = password_hash($new_password, PASSWORD_DEFAULT); $sql = "UPDATE users SET password='$new_password_hash' WHERE id='$user_id'"; mysqli_query($conn, $sql); // 返回成功提示信息 echo "密码修改成功!"; } else { // 返回错误提示信息 echo "旧密码不正确,请重新输入!"; } } else { // 返回错误提示信息 echo "当前用户不存在!"; } mysqli_close($conn); // 关闭数据库连接 } ?> ``` 需要注意的是,密码存储时应该使用哈希算法加密,以增加密码的安全性。在本示例中,我们使用了 PHP 自带的 `password_hash` 和 `password_verify` 函数来实现密码哈希加密和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值