我使用下面的代碼來發送電子郵件到我的地址,我提醒新用戶註冊:試圖刪除電子郵件形式的PHP重定向功能,並把它變成一個彈出消息
<?php
$errors = '';
$myemail = '[email protected]';
if (empty($_POST['email']) || empty($_POST['email']) || empty($_POST['email'])) {
$errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address
)) {
$errors .= "\n Error: Invalid email address";
}
if (empty($errors)) {
$to = $myemail;
$email_subject = "Invitation Request: $email_address";
$email_body = "has received a new invitation request. " .
"\n Email: $email_address";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to, $email_subject, $email_body, $headers);
//redirect to the 'thank you' page
}
?>
目前它將用戶重定向到一個新頁面,但我希望它允許JavaScript彈出成功/失敗消息,就像現代網站中使用的那樣。
下面是該消息的代碼(CSS和Javascript):
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<style type="text/css">
/* Status Message */
.message {
display: none;
margin: 0 0 13px 0;
padding: 13px 13px 13px 52px;
background: url('icon_check.gif') left no-repeat #EFA;
background-position: 13px 5px;
border: solid 1px #BD8; '
width: 300px;
}
</style>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#Button1").click(function(event){
$(".message").show();
$(".message").fadeOut(2500);
});
});
</script>
和這裏的成功消息的HTML:
<div class="message">Your Invitation Request Has Been Received!</div>
是否有可能做到這一點?過去兩天我在幾個地方尋找答案,我似乎無法改變正確的事情。任何幫助,將不勝感激。
感謝您的快速響應!我可以將該PHP代碼放在php文件的任何位置嗎?此外,註冊表單位於索引頁面,我會將「signup.php」更改爲「index.php」嗎?我對這個東西是全新的,所以我有點失落。 – Sharkbites 2012-04-24 21:31:20
把'header()'代碼放在你有//重定向到'thank you'頁面的地方。如果之後有任何代碼,可以添加'exit();'來停止腳本的執行(但只有在將新用戶添加到數據庫後才能執行此操作)。您需要將signup.php更改爲index.php。但是,我會將您的完整域名添加到它(例如http(s)://example.com/?success = true)。 – honyovk 2012-04-24 21:36:31
啊完美的你解決了重定向問題......現在想出如何輸入失敗信息,如果輸入的內容不是正確的電子郵件地址。當輸入到輸入框中的代碼不是正確的電子郵件地址時,代碼會重定向。 – Sharkbites 2012-04-24 22:01:32