[英]PHP/HTML newsletter issue
我在WordPress網站上有一個簡單的表單,該表單允許用戶注冊新聞通訊:
的HTML
<form method="POST" action="newsletter.php">
<input type="text" class="form" name="Email" size="20" placeholder="Email address">
<input type="submit" class="button" value="Submit" name="Submit"></p>
</form>
提交電子郵件地址后,用戶將被重定向到名為newsletter.php的新站點,並顯示以下消息: 您的電子郵件地址已成功提交
的PHP
<?php
$recipient = "blabla@mail.com";
$subject = "Newsletter subscription";
$sender = $recipient;
$body .= "Add this email adress to the newsletter: \n";
$body .= " ".$_REQUEST['Email']." \n";
mail( $recipient, $subject, $body, "From: $sender" ) or die ("Mail could not be sent.");
echo "Your email address has been successfully submitted";
?>
我現在想知道的是:如何在WordPress網站上而不是newsletter.php上顯示“成功消息”?
理想的解決方案是在注冊表單下方打開一個小div。
您可以將表單更改為如下形式:
<form method="POST">
<input type="text" class="form" name="Email" size="20" placeholder="Email address">
<input type="submit" class="button" value="Submit" name="Submit"></p>
</form>
(沒有action
屬性表示“提交當前URL”。)
然后將PHP添加到表單所在的同一頁面上,並添加一個檢查,使其僅在提交表單后運行:
<?php
if(isset($_POST['Email'])) {
$recipient = "blabla@mail.com";
$subject = "Newsletter subscription";
$sender = $recipient;
$body .= "Add this email adress to the newsletter: \n";
$body .= " ".$_REQUEST['Email']." \n";
mail( $recipient, $subject, $body, "From: $sender" ) or die ("Mail could not be sent.");
echo "<div>Your email address has been successfully submitted</div>";
}
?>
您可能還想更改錯誤處理策略,以輸出<div class="error">
或類似的方法而不是死掉。
我已經有一段時間沒有使用Wordpress了,所以我不確定那里的細節,但是如果這是一個准系統的PHP網站,則可以將其全部放在第一頁的源代碼中:
<form method="POST">
<input type="text" class="form" name="Email" size="20" placeholder="Email address">
<input type="submit" class="button" value="Submit" name="Submit"></p>
</form>
<?php
if(isset($_POST['Email'])) {
$recipient = "blabla@mail.com";
$subject = "Newsletter subscription";
$sender = $recipient;
$body .= "Add this email adress to the newsletter: \n";
$body .= " ".$_REQUEST['Email']." \n";
mail( $recipient, $subject, $body, "From: $sender" ) or die ("Mail could not be sent.");
echo "<div>Your email address has been successfully submitted</div>";
}
?>
無需發布到Newsletter.php,您可以將頁面發布到其自身並在那里處理訂閱。 或Newsletter.php可能沒有頭,然后將您重定向到引薦來源網址,然后您可以在其中顯示訂閱消息。 但這是過時的,任何Ajax后置解決方案肯定會更性感。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.