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 关注
- 93 浏览
添加回答
举报