NOW()", [$token]); if (!$record) { $error = 'This reset link is invalid or has expired. Please request a new one.'; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && $record) { if (!verifyCsrf($_POST['csrf_token'] ?? '')) { $error = 'Invalid request.'; } else { $pass = $_POST['password'] ?? ''; $pass2 = $_POST['password2'] ?? ''; if (strlen($pass) < 8) { $error = 'Password must be at least 8 characters.'; } elseif ($pass !== $pass2) { $error = 'Passwords do not match.'; } else { $hash = password_hash($pass, PASSWORD_BCRYPT, ['cost' => HASH_COST]); DB::query("UPDATE users SET password_hash=? WHERE email=?", [$hash, $record['email']]); DB::query("DELETE FROM password_resets WHERE token=?", [$token]); $done = true; } } } ?> Reset Password — SURVAM

Reset Password

Password reset successfully! Sign in →
Request new link →