[英]how to send a contact form by email when user submits forms
我已經創建了聯系表格,一旦用戶單擊“提交”按鈕,我現在就嘗試將聯系表格作為電子郵件發送。 但是,一旦用戶單擊“提交”,我就不會收到任何電子郵件。 我已經包括了我的HTML表單。 我知道我需要php以及javascript代碼才能使電子郵件正常工作,但我不知道如何開始此過程。
我可以幫些忙。
<div id="details">
<form method="post" name="Products" action="http://www.shop4pop.nl/products/">
Please leave your name: <br>
<input type="text" name="firstname"> <br>
Email: <br>
<input type ="email" name ="email">
<br>
<div id="detailsSecond">
Please leave us a description of your artwork brief: <br>
<textarea name = "textarea" rows="10" cols="50">Write something here</textarea>
</div>
<input type="submit" value="Submit">
</form>
</div>
<div id="details">
<form method="post" name="Products" action="">
Please leave your name: <br>
<input type="text" name="firstname"> <br>
Email: <br>
<input type ="email" name ="email">
<br>
<div id="detailsSecond">
Please leave us a description of your artwork brief: <br>
<textarea name = "textarea" rows="10" cols="50">Write something here</textarea>
</div>
<input type="submit" value="Submit" name="submit">
</form>
if(isset($_POST['submit']))
{
if($_POST['submit']=="Submit")
{
$name = $_POST['firstname'];
$detail = $_POST['textarea'];
$email = $_POST['email'];
$msg = "Hello yourname,<br /> $name tries to contact your from following details. <br/><br/><br/><br/>Email : $email, <br /> Message : $detail";
if(@mail("youremail@domain.com", $email,$msg, $headersifapplicable)){
echo "Thank you for contacting.";
}
else
{
echo "There is some problem in contacting";
}
}
}
試試這個,它應該可以正常工作。
<?php
$to="Your email address";
//Errors
$nameError="";
$emailError="";
$errMsg="";
$errors="";//counting errors
$name="";
$email="";
$message="";
if(isset($_POST['send'])){
if(empty($_POST['yourname'])){ //name field empty
$nameError="Please enter your name";
$errors++; // increament errors
}else{
$name= UserInput($_POST['yourname']);
if(!preg_match("/^[a-zA-Z ]*$/", $name)){
$nameError="Only letters and white space accepted";
$errors++;
}
}
if(empty($_POST['email'])){
$emailError="Enter email";
$errors++;
}else{
$email = UserInput($_POST['email']);
if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)){
$emailError="Invalid Email";
$errors++;
}
}
if(empty($_POST['msg'])){
$errMsg="Enter message";
$errors++;
}else{
$message=UserInput($_POST['msg']);
}
if($errors <=0){//No errors lets setup our email and send it
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <' . $email . '>' . "\r\n";
$text = "<p>New Message from $name </p>";
$text .= "<p>Name : $name</p>";
$text .= "<p>Email : $email</p>";
$text .= "<p>Message : $message</p>";
mail($to, "Website Contact", $text, $headers);
$success="Thank your message was submitted";
$_POST= array(); //clearing inputs fields after success
}
}
//Filter user input
function UserInput($data){
$data = trim($data);
$data = stripcslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<?php echo $success;?>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SEL"]);?>">
<span style="color:#f00;"><?php echo $nameError;?></span>
<input type="text" name="yourname" placeholder="enter your name" <?php if(!empty($_POST['yourname'])){echo "value=\"".$_POST['yourname']."\"";}?>><br>
<span style="color: #f00;"><?php echo $emailError;?></span>
<input type="email" placeholder="your email" name="email" <?php if(!empty($_POST['email'])){echo "value=\"".$_POST['email']."\"";}?>><br>
<span style="color: #f00;"><?php echo $errMsg;?></span>
<textarea name="msg"><?php if(!empty($_POST['msg'])){echo $_POST['msg'];}?></textarea><br>
<input type="submit" name="send" value="send">
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.