Lupa kata sandi kode php unduh gratis

Anda perlu membuat tabel di database yang disebut pengguna dan kolom yang paling penting adalah email dan reset_token. Mengirim email melalui localhost memerlukan akun Gmail dan Anda harus mengaktifkan aplikasi yang kurang aman untuk akun Anda. Anda dapat mengaktifkannya dari tautan di bawah ini

Aktifkan aplikasi yang kurang aman

Masukkan alamat email

Buat formulir sederhana untuk mendapatkan alamat email pengguna, tempat email pemulihan harus dikirim

<form method="POST" action="send-recovery-mail.php"> <input type="email" name="email"> <input type="submit" value="Send recovery email"> </form>

Kirim email pemulihan

Kami akan menggunakan perpustakaan PHPMailer, Anda dapat mengunduhnya dari tautan di bawah ini

Unduh PHPMailer.dll

Selanjutnya Anda perlu menyertakan perpustakaan dan membuat koneksi dengan database

<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $connection = mysqli_connect("localhost", "root", "", "classicmodels"); _

Pertama, Anda perlu memeriksa apakah pengguna email itu ada di database Anda

$email = $_POST["email"]; $sql = "SELECT * FROM users WHERE email = '$email'"; $result = mysqli_query($connection, $sql); if (mysqli_num_rows($result) > 0) { // } else { echo "Email does not exists"; }

Di dalam pernyataan jika, Anda perlu membuat token unik yang akan dikirim melalui email

if (mysqli_num_rows($result) > 0) { $reset_token = time() . md5($email); } else { echo "Email does not exists"; }

Setelah itu, Anda perlu menyimpan token ini ke catatan basis data pengguna tersebut

$sql = "UPDATE users SET reset_token='$reset_token' WHERE email='$email'"; mysqli_query($connection, $sql); _

Kemudian Anda membuat variabel bernama $message dan menulis semua teks yang ingin Anda kirim di email pemulihan

$message = "<p>Please click the link below to reset your password</p>"; $message .= "<a href='//localhost/tutorials/add-a-reset-password-option/reset-password.php?email=$email&reset_token=$reset_token'>"; $message .= "Reset password"; $message .= "</a>";

  • Ganti URL web Anda dengan teks yang disorot

Sekarang, cukup kirim email melalui PHPMailer. Kami telah membuat fungsi terpisah untuk melakukan itu

function send_mail($to, $subject, $message) { $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = 0; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.gmail.com;'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'your_gmail_address'; // SMTP username $mail->Password = 'your_gmail_password'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to $mail->setFrom('your_gmail_address', 'your_name'); //Recipients $mail->addAddress($to); // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = $subject; $mail->Body = $message; $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } } _

Dan Anda dapat memanggil fungsi ini tepat setelah variabel $message

send_mail($email, "Reset password", $message);

Pada titik ini, saat Anda memasukkan email dan menekan kirim, Anda akan menerima email dengan tautan pemulihan. Saat mengklik, Anda akan dialihkan ke situs Anda di halaman reset-password. php

Masukan kata sandi baru

Sekarang Anda perlu membuat file bernama reset-password. php. Dalam file ini, pertama-tama Anda perlu memeriksa apakah itu berasal dari tautan email

<?php $email = $_GET["email"]; $reset_token = $_GET["reset_token"]; $connection = mysqli_connect("localhost", "root", "", "classicmodels"); $sql = "SELECT * FROM users WHERE email = '$email'"; $result = mysqli_query($connection, $sql); if (mysqli_num_rows($result) > 0) { // } else { echo "Email does not exists"; } _

Kedua, Anda perlu memeriksa apakah token tersebut tidak ditempa, sehingga Anda tidak dapat mengubah kata sandi orang lain

$user = mysqli_fetch_object($result); if ($user->reset_token == $reset_token) { // } else { echo "Recovery email has been expired"; } _

Ketiga, tampilkan formulir sederhana untuk memasukkan kata sandi baru. Email dan reset_token perlu disembunyikan di file ini sehingga Anda dapat memperbarui kata sandi hanya untuk pengguna tertentu

<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $connection = mysqli_connect("localhost", "root", "", "classicmodels"); _0

Atur ulang kata sandi

Sekarang Anda hanya perlu membuat file baru bernama new-password. php dan tempelkan kode berikut di dalamnya

<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $connection = mysqli_connect("localhost", "root", "", "classicmodels"); _1

Itulah cara mereset password menggunakan PHP dan MySQL. Pelajari juga bagaimana Anda bisa melakukan verifikasi email di website Anda

Bagaimana cara menulis kode untuk lupa kata sandi di php?

php include('db. php'); . isset($_POST["action"])){ $key = $_GET["key"]; . i. s"); $query = mysqli_query($con, "SELECT * FROM `password_reset_temp` WHERE `key`='"

Bagaimana cara mereset kata sandi di php MySQL?

Bangun Sistem Reset Kata Sandi dengan PHP & MySQL .
Langkah 1. Buat Tabel Basis Data MySQL. .
Langkah 2. Buat Formulir Login Pengguna. .
Langkah3. Terapkan Login Pengguna. .
Langkah4. Buat Formulir Lupa Kata Sandi. .
Langkah5. Terapkan Fungsi Reset Kata Sandi. .
Langkah6. Buat Formulir Reset Kata Sandi. .
Langkah7. Simpan Kata Sandi Baru

Bagaimana saya bisa mengetahui ID login dan kata sandi saya di php?

php $namaserver = "localhost";

Bagaimana cara menulis kode untuk kata sandi yang terlupakan dalam HTML?

Gunakan metode ResetPassword jika pengguna lupa kata sandinya. Metode ResetPassword memerlukan token pengaturan ulang kata sandi. Token konfirmasi dapat dibuat dengan metode CreateAccount(), CreateUserAndAccount(), atau GeneratePasswordResetToken().

Postingan terbaru

LIHAT SEMUA