3 回答

TA貢獻1847條經驗 獲得超11個贊
您可以傳遞 aGET-parameter以便在頁面重新加載時檢查它。試試這個代碼示例:
if($mail->send()){
header("Location: home.php?success");
} else {
$error .= "Error {$mail->ErrorInfo}";
}
在您的頁面上:
<div class="text-center impact">
<?php echo isset($_GET['success']) ? "Thank you for message!" : $error; ?>
</div>

TA貢獻1775條經驗 獲得超11個贊
你沒有$error在你的頁面之間傳遞變量,所以當你回顯它時,它沒有被定義,你不會得到任何輸出。您需要通過 URL 查詢參數傳遞它:
header("Location: home.php?error=" . rawurlencode($error));
然后在該頁面上檢索它:
echo $_GET['error'];
或者通過會話變量傳遞它(可能是更好的選擇):
$_SESSION['errors'] = $error;
header("Location: home.php");
接著:
echo $_SESSION['error'];

TA貢獻1839條經驗 獲得超15個贊
您不會看到它,因為您的瀏覽器會在您看到它之前立即重定向。
超級簡單的解決方案是重定向到: header("Location: send-confirmation.php");
帶有消息已發送的信息。當然,您可以做更高級的解決方案并將 apropiate 參數傳遞給主頁或在您的 phpmailer 頁面上使用 cookie/session 以避免重復發送。
- 3 回答
- 0 關注
- 138 瀏覽
添加回答
舉報