⊗ppPmAuPCh 429 of 447 menu

Thay đổi mật khẩu bằng PHP

Việc thay đổi mật khẩu không thể đơn giản thực hiện trong tài khoản cá nhân. Lý do là người dùng có thể để máy tính của họ không được giám sát (ví dụ, tại văn phòng), trong khi vẫn đang đăng nhập trên trang web của chúng ta. Trong trường hợp này, nếu cho phép thay đổi mật khẩu một cách đơn giản, thì kẻ xấu có ý đồ không tốt có thể đổi mật khẩu thành mật khẩu khác, điều này tất nhiên là rất tệ.

Cần phải thực hiện sao cho việc thay đổi sang mật khẩu mới yêu cầu nhập mật khẩu cũ.

Hãy cùng triển khai trang changePassword.php, khi truy cập vào đó người dùng sẽ thấy một biểu mẫu với hai ô nhập liệu - ô đầu tiên họ cần nhập mật khẩu cũ của mình, và ô thứ hai - mật khẩu mới:

<form action="" method="POST"> <input name="old_password"> <input name="new_password"> <input type="submit" name="submit"> </form>

Khi nhấn nút gửi, chúng ta cần thực hiện điều sau:

<?php $id = $_SESSION['id']; // id người dùng từ session $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // mật khẩu đã mã hóa từ CSDL $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Kiểm tra sự khớp nhau giữa hash từ cơ sở dữ liệu và mật khẩu cũ đã nhập if (password_verify($oldPassword, $hash)) { $newPasswordHash = password_hash($newPassword, PASSWORD_DEFAULT); $query = "UPDATE users SET password='$newPasswordHash' WHERE id='$id'"; mysqli_query($link, $query); } else { // mật khẩu cũ nhập không đúng, hiển thị thông báo } ?>

Hãy triển khai chức năng thay đổi mật khẩu đã được mô tả.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối