Lupa Kata Sandi Akun?
Masukkan email untuk mengatur ulang kata sandi
prepare("SELECT id_user FROM users WHERE email = ?"); $stmt->bind_param("s", $email); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { $stmt->close(); // Buat token unik dan set masa berlaku 1 jam $token = bin2hex(random_bytes(50)); $expires_at = date("Y-m-d H:i:s", strtotime("+8 hour")); // Hapus token lama (jika ada) $stmt = $conn->prepare("DELETE FROM password_resets WHERE email = ?"); $stmt->bind_param("s", $email); $stmt->execute(); $stmt->close(); // Simpan token baru $stmt = $conn->prepare("INSERT INTO password_resets (email, token, expires_at) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $email, $token, $expires_at); $stmt->execute(); $stmt->close(); // Kirim email reset password menggunakan PHPMailer $reset_link = "https://portalumkm.com/lupa-password/reset_password.php?token=$token"; $mail = new PHPMailer(true); try { // Konfigurasi SMTP $mail->isSMTP(); $mail->Host = 'mail.portalumkm.com'; // Sesuaikan dengan penyedia hosting $mail->SMTPAuth = true; $mail->Username = 'admin@portalumkm.com'; $mail->Password = 'Vwa,7[io.9D]'; // Ganti dengan password email admin $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; // Atau cek port yang sesuai (465 untuk SSL, 587 untuk TLS) // Pengirim dan Penerima $mail->setFrom('admin@portalumkm.com', 'Support Portal UMKM'); $mail->addAddress($email); // Konten email $mail->isHTML(true); $mail->Subject = "Permintaan Atur Ulang Kata Sandi Portal UMKM"; $mail->Body = "
Halo,
Kami menerima permintaan untuk mereset password akun Anda. Klik tombol di bawah untuk mengatur ulang password Anda:
Jika Anda tidak merasa melakukan permintaan ini, abaikan saja email ini. Link ini akan kedaluwarsa dalam 1 jam.
Salam,
Tim Support
Masukkan email untuk mengatur ulang kata sandi