Làm cách nào để viết mã khi quên mật khẩu trong PHP?

Đặt lại mật khẩu trong hướng dẫn PHP MySQL cốt lõi. Ở đây, chúng tôi sẽ chỉ cho bạn cách gửi liên kết đặt lại mật khẩu trong email với thời gian hết hạn PHP MySQL

Đôi khi vì lý do bảo mật, bạn có thể muốn gửi liên kết đặt lại mật khẩu với thời gian hết hạn của trang web của bạn trong PHP MySQL

Vì vậy, php này tạo và gửi liên kết đặt lại mật khẩu với hướng dẫn mã thông báo, chúng tôi sẽ hướng dẫn từng bước cách tạo liên kết đặt lại/quên mật khẩu với thời gian hết hạn trong PHP MySQL và gửi liên kết đó trong email bằng PHPMailer

Gửi liên kết Đặt lại/Quên mật khẩu với thời gian hết hạn trong PHP MySQL

Đặt lại đơn giản khi quên mật khẩu bằng liên kết email trong PHP MySQL bằng cách sử dụng các bước sau

  • Bước 1. Cài đặt PHPmailer trong dự án PHP
  • Bước 2. Tạo tệp PHP kết nối cơ sở dữ liệu
  • Bước 3. Tạo biểu mẫu quên mật khẩu để gửi liên kết trong email
  • Bước 4. Gửi liên kết trong email và lưu trữ mã thông báo với thời gian hết hạn tệp PHP
  • Bước 5. Tạo biểu mẫu đặt lại mật khẩu để cập nhật mật khẩu mới
  • Bước 6. Cập nhật tập tin PHP quên mật khẩu

Bước 1. Cài đặt PHPmailer trong dự án PHP

Trước hết, hãy mở terminal và thực hiện lệnh sau vào dự án hoặc ứng dụng php của bạn để cài đặt phpmailer

cd / your project path

composer require phpmailer/phpmailer

Sau đó mở phpmyadmin của bạn và thực hiện truy vấn sau để tạo bảng người dùng trong cơ sở dữ liệu

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(250) NOT NULL,
  `exp_date` varchar(250) NOT NULL,
  `reset_link_token` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Bước 2. Tạo tệp PHP kết nối cơ sở dữ liệu

Trong bước này, hãy tạo tên tệp db. php và cập nhật đoạn mã sau vào db. tập tin php

Lưu ý rằng, Mã này được sử dụng để tạo kết nối cơ sở dữ liệu MySQL trong dự án PHP

Bước 3. Tạo biểu mẫu quên mật khẩu để gửi liên kết trong email

Ở bước này, tạo quên mật khẩu. php và cập nhật mã PHP và HTML bên dưới thành quên mật khẩu. tập tin php

Lưu ý rằng, Mã HTML này hiển thị biểu mẫu quên mật khẩu

Bây giờ, hãy cập nhật biểu mẫu html sau thành quên mật khẩu. tập tin php



   
      
      
  
      Send Reset Password Link with Expiry Time in PHP MySQL
       
       
   
   
      
Send Reset Password Link with Expiry Time in PHP MySQL
We'll never share your email with anyone else.

Bước 4. Gửi liên kết trong email và lưu trữ mã thông báo với thời gian hết hạn tệp PHP

Trong bước này, tạo tệp PHP mới có tên password-reset-token. php. Tệp mã PHP này sẽ tạo liên kết đặt lại mật khẩu với thời gian hết hạn. Và sau đó gửi liên kết này qua email và lưu trữ nó vào MySQL DB

Để cập nhật mã php sau thành password-reset-token. tập tin php

Click To Reset password";

    require_once('phpmail/PHPMailerAutoload.php');

    $mail = new PHPMailer();

    $mail->CharSet =  "utf-8";
    $mail->IsSMTP();
    // enable SMTP authentication
    $mail->SMTPAuth = true;                  
    // GMAIL username
    $mail->Username = "[email protected]";
    // GMAIL password
    $mail->Password = "your_gmail_password";
    $mail->SMTPSecure = "ssl";  
    // sets GMAIL as the SMTP server
    $mail->Host = "smtp.gmail.com";
    // set the SMTP port for the GMAIL server
    $mail->Port = "465";
    $mail->From='[email protected]';
    $mail->FromName='your_name';
    $mail->AddAddress('reciever_email_id', 'reciever_name');
    $mail->Subject  =  'Reset Password';
    $mail->IsHTML(true);
    $mail->Body    = 'Click On This Link to Reset Password '.$link.'';
    if($mail->Send())
    {
      echo "Check Your Email and Click on the link sent to your email";
    }
    else
    {
      echo "Mail Error - >".$mail->ErrorInfo;
    }
  }else{
    echo "Invalid Email Address. Go back";
  }
}
?>

Lưu ý rằng. - Nếu đang gửi thư bằng Gmail, bạn phải cho phép các ứng dụng không an toàn truy cập Gmail, bạn có thể thực hiện việc này bằng cách đi tới phần cài đặt Gmail của mình tại đây

Sau khi bật các ứng dụng kém an toàn hơn;

Bước 5. Tạo biểu mẫu đặt lại mật khẩu để cập nhật mật khẩu mới

Trong bước này, tạo một biểu mẫu mới trong php sẽ nhận được mật khẩu mới từ người dùng. Vì vậy, hãy tạo mật khẩu đặt lại. tập tin php

Và cập nhật mã php và html sau thành reset-password. tập tin php






Reset Password In PHP MySQL




Reset Password In PHP MySQL
0) { $row= mysqli_fetch_array($query); if($row['exp_date'] >= $curDate){ ?>
This forget password link has been expired

} } ?>

Bước 6. Cập nhật tập tin PHP quên mật khẩu

Bây giờ, tạo cập nhật-quên-mật khẩu. php để cập nhật mật khẩu mới vào bảng cơ sở dữ liệu

Mã tệp PHP này sẽ lưu trữ mật khẩu cập nhật vào bảng cơ sở dữ liệu mysql. người dùng vào bảng cơ sở dữ liệu

Vì vậy, hãy mở cập nhật-quên-mật khẩu. php và cập nhật mã php sau vào đó

Congratulations! Your password has been updated successfully.

'; }else{ echo "

Something goes wrong. Please try again

"; } } ?>

Phần kết luận

Gửi liên kết đặt lại mật khẩu với thời gian hết hạn trong hướng dẫn php mysql, bạn đã học cách gửi liên kết quên/đặt lại mật khẩu trong email với thời gian hết hạn trong PHP MySQL

Làm thế nào để viết một mật khẩu thư Quên?

Thưa ông, Tôi không thể đặt lại/khôi phục mật khẩu cho lần đăng nhập của mình bằng (tên người dùng) tại (tên nền tảng). Bạn có thể giúp tôi lấy lại mật khẩu của mình không? Vui lòng gửi cho tôi mật khẩu mới.

Làm cách nào để đặt lại mật khẩu trong HTML?

Luồng đặt lại mật khẩu như sau. .
Người dùng yêu cầu email đặt lại mật khẩu. Mặt tiền người dùng gửi cho người dùng một email. .
Người dùng nhấp vào liên kết. Liên kết có mã thông báo đặc biệt và uuid trong URL
Người dùng gửi mật khẩu mới của họ. Người dùng gửi mật khẩu mới của họ với biểu mẫu đặt lại mật khẩu trên trang