我想創建一個聯繫表單,只是發送表單到我的電子郵件,我有幾個問題,當用戶提交表單時,它響應一個錯誤,但還有消息說它正確發送,但我沒有收到任何消息。錯誤,並沒有從聯繫表格中收到電子郵件
以下是錯誤
<b>Notice</b>: Undefined index: contactName1 in <b>/opt/lampp/htdocs/site/contact.php</b> on line <b>8</b><br />
如果它幫助我運行我的網站的本地服務器(LAMPP)上。
這裏是PHP
<?php
include('scripts/connection.php');
$consubject= test_input($_POST['contactSubject1']);
$conname= test_input($_POST['contactName1']);
$conemail= test_input($_POST['contactEmail1']);
$conmessage= test_input($_POST['contactMessage1']);
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$email_to = "[email protected]";
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$conemail)) {
echo "The Email address ".$conemail." is not valid";
}else{
// create email headers
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Name: ".clean_string($conname)."\n";
$email_message .= "Message: ".clean_string($conmessage)."\n";
$from="From: $conname<$conemail>\r\nReturn-path: $conemail";
$consubject="Message sent using your contact form";
mail("[email protected]", $consubject, $email_message, $from);
// echo "Thanks for your message";
}
?>
這裏是JavaScript
$("#contactSubmit").click(function(){
var contactSubject = $("#contactSubject").val();
var contactName = $("#contactName").val();
var contactEmail = $("#contactEmail").val();
var contactMessage = $("#contactMessage").val();
// Returns successful data submission message when the entered information is stored in database.
var dataStringContact = 'contactSubject1='+ contactSubject + 'contactName1='+ contactName + '&contactEmail1='+ contactEmail + '&contactMessage1='+ contactMessage;
if(contactSubject===''||contactName===''||contactEmail===''||contactMessage==='')
{
alert("Please Fill All Fields");
}
else
{
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "contact.php",
data: dataStringContact,
cache: false,
success: function(resultContact){
alert(resultContact);
document.forms['contactForm'].reset();
}
});
}
return false;
});
下面是HTML
<form name="contactForm">
<input id="contactSubject" name="contactSubject" type="text"class="inputs" placeholder="Subject" />
<br>
<input id="contactName" name="contactName" type="text"class="inputs" placeholder="Name" />
<br>
<input id="contactEmail" name="contactEmail" type="text"class="inputs" placeholder="E-mail" />
<br>
<textarea rows="4" cols="50" id="contactMessage" name="contactMessage" type="text" class="inputs" placeholder="Write your message..."></textarea>
<br> <br>
<input id="contactSubmit" type="button" name="contactSubmit" class="submitButton" value="Submit" />
</form>
感謝您的幫助
三江源由我固定的錯誤,愚蠢的錯誤,但我仍然沒有收到任何電子郵件,即使它告訴我的消息已成功發送,任何想法爲什麼? –
@AlHennessey:查看郵件和/或服務器日誌中的SPAM文件夾錯誤。 PHP腳本現在好了。 – panther
四,檢查了垃圾郵件,沒有電子郵件,是因爲我從本地運行而不是真正的託管服務器? –