require_once 'includes/header.php'; require_once 'includes/mailer.php'; $message = ''; $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $email = trim($_POST['email']); if (empty($email)) { $error = $lang === 'ar' ? 'الرجاء إدخال البريد الإلكتروني.' : 'Please enter your email address.'; } else { // Check if email exists $stmt = $pdo->prepare("SELECT id, full_name FROM users WHERE email = ?"); $stmt->execute([$email]); $user = $stmt->fetch(); if ($user) { // Generate Token $token = bin2hex(random_bytes(32)); $expires = date('Y-m-d H:i:s', strtotime('+1 hour')); // Save to DB $stmt = $pdo->prepare("UPDATE users SET reset_token = ?, reset_expires = ? WHERE id = ?"); $stmt->execute([$token, $expires, $user['id']]); // Send Email $resetLink = "https://liftmeup.ae/reset-password.php?token=" . $token; $subject = "Password Reset - Lift Me Up / إعادة تعيين كلمة المرور"; require_once 'includes/email_templates.php'; $body = getPasswordResetEmailHtml($user['full_name'], $resetLink); if (sendEmail($email, $subject, $body)) { $message = $lang === 'ar' ? 'تم إرسال رابط إعادة تعيين كلمة المرور إلى بريدك الإلكتروني.' : 'A password reset link has been sent to your email address.'; } else { $error = $lang === 'ar' ? 'حدث خطأ أثناء إرسال البريد الإلكتروني.' : 'An error occurred while sending the email.'; } } else { // Security: show same message even if email doesn't exist to prevent email enumeration $message = $lang === 'ar' ? 'إذا كان هذا البريد مسجلاً لدينا، فستتلقى رابطاً لإعادة تعيين كلمة المرور.' : 'If this email is registered, you will receive a password reset link.'; } } } ?>
Enter your email address and we will send you a link to reset your password.