⊗ppPmAuPCh 429 of 447 menu

การเปลี่ยนรหัสผ่านด้วย PHP

การเปลี่ยนรหัสผ่านไม่สามารถทำได้ง่ายๆ ในบัญชีผู้ใช้ส่วนตัว เหตุผลคือ ผู้ใช้อาจทิ้งคอมพิวเตอร์ไว้โดยไม่มีคนดูแล (เช่น ที่สำนักงาน) ในขณะที่ล็อกอินเข้าสู่เว็บไซต์ของเรา ในกรณีนี้ หากอนุญาตให้เปลี่ยนรหัสผ่านได้ง่ายๆ ผู้ไม่หวังดีอาจเปลี่ยนรหัสผ่านเป็นอย่างอื่น ซึ่งแน่นอนว่า เป็นสิ่งที่ไม่ดีอย่างยิ่ง

จำเป็นต้องทำให้การเปลี่ยนรหัสผ่าน เป็นรหัสใหม่ต้องมีการป้อนรหัสผ่านเก่า

มาลองสร้างหน้า changePassword.php เมื่อผู้ใช้เข้าถึงจะเห็นฟอร์ม ที่มีอินพุตสองช่อง - ในช่องแรกเขาจะต้อง ป้อนรหัสผ่านเก่าของเขา และในช่องที่สอง - รหัสผ่านใหม่:

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

เมื่อกดปุ่มส่งข้อมูล เราต้องทำ ดังต่อไปนี้:

<?php $id = $_SESSION['id']; // id ผู้ใช้จาก session $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // รหัสผ่านที่เข้ารหัสแล้วจากฐานข้อมูล $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // ตรวจสอบความตรงกันของแฮชจากฐานข้อมูลกับรหัสผ่านเก่าที่ป้อน 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 { // รหัสผ่านเก่าที่ป้อนไม่ถูกต้อง ให้แสดงข้อความ } ?>

โปรดดำเนินการเปลี่ยนรหัสผ่านตามที่อธิบายไว้

ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ