ขอวิธี คำแนะนำ การรีเซ็ตรหัสผ่าน password-hash กรณี users ลืมรหัสผ่านครับ ต้องการรีเซ็ตรหัสผ่านครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอวิธี คำแนะนำ การรีเซ็ตรหัสผ่าน password-hash กรณี users ลืมรหัสผ่านครับ ต้องการรีเซ็ตรหัสผ่านครับ
ขอวิธี คำแนะนำ การรีเซ็ตรหัสผ่าน password-hash กรณี users ลืมรหัสผ่านครับ ต้องการรีเซ็ตรหัสผ่านครับ
ขอวิธี คำแนะนำ การรีเซ็ตรหัสผ่าน password-hash กรณี usres ลืมรหัสผ่านครับ ต้องการรีเซ็ตรหัสผ่านครับ

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

ความคิดเห็นที่
2
มีหน้าสำหรับแก้ไข หรือ รีเซ็ต รหัสผ่าน ที่อ้างอิงผู้ใช้แบบเข้ารหัส
1. ตอนนี้ มี table user ครับ ที่สมัครสมาชิก เข้ามาแล้ว แล้วรหัสผ่านถูกเข้ารหัส ใช้เป้น password-hash ครับ
1.1 หน้ารายงานสามารถ insert,update,delete ข้อมูล user ได้ครับ
1.2 หน้า form edit disable username,password เพื่อไม่ให้มีการแก้ไขครับ
2. กำลังสร้าง form forgot-password ครับ กำลังหัดครับ
ส่งลิ้งค์หน้าเปลี่ยนรหัสผ่านหรือรีเซ็ตรหัสผ่านไปทางอีเมล หรือ sms แล้วแต่ว่าใช้แบบไหน
อยากลอง2แบบครับ
1. ส่ง link แบบรีเซ็ตรหัสผ่าน ส่งไปทางเมล์ครับ (อยากได้แบบที่ 1 ครับ ส่ง link แบบรีเซ็ตรหัสผ่าน ส่งไปทางเมล์)
2. ส่งรหัสผ่านของ user ไปทางgmail ที่ user ร้องขอครับ โดยไม่รีเซ็ตรหัสผ่าน (ทำตามจากบทความ PHP Forgot Lost Password and Sending Password to Mail ทำ Form ลืมรหัสผ่าน ด้วย PHP กับ MySQL || เครดิต thaicreate.com )
2.2 ลองปรับใช้กับบทความ thaicreate.com แล้ว ขึ้น Warning: mail(): Failed to connect to mailserver at "localhost" port 25 (ต้องใช้ server + host จริง ซึ่งผมไม่มี server + host จริง || ตอนนี้ใช้xampp ครับ setting port แต่ก็ไม่ได้ผลครับ)
1. ตอนนี้ มี table user ครับ ที่สมัครสมาชิก เข้ามาแล้ว แล้วรหัสผ่านถูกเข้ารหัส ใช้เป้น password-hash ครับ
1.1 หน้ารายงานสามารถ insert,update,delete ข้อมูล user ได้ครับ
1.2 หน้า form edit disable username,password เพื่อไม่ให้มีการแก้ไขครับ
2. กำลังสร้าง form forgot-password ครับ กำลังหัดครับ
ส่งลิ้งค์หน้าเปลี่ยนรหัสผ่านหรือรีเซ็ตรหัสผ่านไปทางอีเมล หรือ sms แล้วแต่ว่าใช้แบบไหน
อยากลอง2แบบครับ
1. ส่ง link แบบรีเซ็ตรหัสผ่าน ส่งไปทางเมล์ครับ (อยากได้แบบที่ 1 ครับ ส่ง link แบบรีเซ็ตรหัสผ่าน ส่งไปทางเมล์)
2. ส่งรหัสผ่านของ user ไปทางgmail ที่ user ร้องขอครับ โดยไม่รีเซ็ตรหัสผ่าน (ทำตามจากบทความ PHP Forgot Lost Password and Sending Password to Mail ทำ Form ลืมรหัสผ่าน ด้วย PHP กับ MySQL || เครดิต thaicreate.com )
2.2 ลองปรับใช้กับบทความ thaicreate.com แล้ว ขึ้น Warning: mail(): Failed to connect to mailserver at "localhost" port 25 (ต้องใช้ server + host จริง ซึ่งผมไม่มี server + host จริง || ตอนนี้ใช้xampp ครับ setting port แต่ก็ไม่ได้ผลครับ)

ความคิดเห็นที่
3
ดูเนื้อหานี้เป็นแนวทาง
บทความแนะนำที่เกี่ยวข้อง | |
---|---|
การตั้งค่า mercury ใน xampp สำหรับทดสอบส่งอีเมล บน localhost | อ่าน 18,982 |

ความคิดเห็นที่
4
ขอบคุณครับ เดี๋ยวลองไปปรับใช้กับบทความนี้ด้วยครับ || การรีเซ็ตรหัสผ่านใหม่ กรณีเข้ารหัสข้อมูล ตอนที่2

ความคิดเห็นที่
5
ศึกษาบทความ การรีเซ็ตรหัสผ่านใหม่ กรณีเข้ารหัสข้อมูล ตอนที่2
เจอปัญหา sql error ครับ
Fatal error: Uncaught Error: Call to undefined method mysqli::num_rows() in C:xampphtdocscmssystemcmssystemforgot-password.php:7 Stack trace: #0 {main} thrown in C:xampphtdocscmssystemcmssystemforgot-password.php on line 7
forgot-password.php
เจอปัญหา sql error ครับ
Fatal error: Uncaught Error: Call to undefined method mysqli::num_rows() in C:xampphtdocscmssystemcmssystemforgot-password.php:7 Stack trace: #0 {main} thrown in C:xampphtdocscmssystemcmssystemforgot-password.php on line 7
forgot-password.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php require_once ( 'database/connection.php' ); if (isset( $_POST [ 'submit_forgotpassword' ]) && $_POST [ 'username' ]!= "" && $_POST [ 'email' ]!= "" ){ $sql = "SELECT * FROM user WHERE username = '" .trim( $_POST ['username '])."' OR email = '".trim($_POST[' email '])."' "; $query = $conn ->query( $sql ); if ( $conn ->num_rows( $query )>0){ $rs = $conn ->fetch_array( $query ); $reset_refer =password_hash(time()); $conn ->query(" UPDATE user SET reset_check= '".$reset_refer."' WHERE id= '".$rs[' id ']."' "); $htmlContact ='<p>อีเมลล์แจ้งขอรับรหัสผ่านใหม่ กรณีลืมรหัสผ่าน และชื่อผู้ใช้ </p> <p>คุณได้ทำการแจ้งลืมรหัสผ่าน และขอรับรห้สผ่านใหม่ ดังนี้</p> <br /> ชื่อผู้ใช้ของคุณคือ : '.$rs[' username '].' <br /> รีเซ็ตรหัสผ่านใหม่ <a href= "http://www.example.com/new_password.php?refer='.$reset_refer.'" > http://www.example.com/new_password.php?refer= '.$reset_refer.' </a><br /> <br />'; $mail = new PHPMailer(true); $mail ->IsMail(); try { $mail ->CharSet = "utf-8" ; $mail ->AddAddress( $rs [ 'email' ], 'ชื่อผู้รับ' ); // ส่งถึง $mail ->SetFrom( 'cms@gmail.com' , 'Example.com' ); // ส่งจาก $mail ->AddReplyTo( 'cms@gmail.com' , 'Example.com' ); // ตอบกลับมาที่อีเมลล์ // $mail->AddBCC('yorwebsitemail@gmail.com', 'Example.com'); $mail ->Subject = "หัวเรื่องอีเมลล์" ; //หัวเรื่องอีเมลล์ $mail ->MsgHTML( $htmlContact ); $mail ->Send(); } catch (phpmailerException $e ){ $msg_text = "เกิดข้อผิดพลาดในการส่งอีเมลล์ กรุณาลองใหม่อีกครั้ง" ; } catch (Exception $e ) { $msg_text = "เกิดข้อผิดพลาดในการส่งอีเมลล์ กรุณาลองใหม่อีกครั้ง" ; } } else { $msg_text = "ไม่มีอีเมล ในระบบ กรุณาลองใหม่อีกครั้ง" ; } } ?> |

ความคิดเห็นที่
6
คำสั่ง num_rows() ใช้กับ result ไม่ได้ใช้กับตัว resource connect
ประมาณ $result->num_rows ไม่ใช่ $mysqli->num_rows() สังเกตจาก error จะแจ้งว่า
ใช้คำส่งผิด
บทความแนะนำที่เกี่ยวข้อง | |
---|---|
แนวทางตรวจสอบ error การเชื่อมต่อ และการคิวรี่ข้อมูลจาก database | อ่าน 45,204 |

ขอบคุณทุกการสนับสนุน
![]()