如何在HTML联系表单上设置PHP?

问题描述:

我想创建一个联系表单,但是,我无法弄清楚如何创建PHP来将这个填写好的表单发送给我指定的任何邮件,并让用户知道是否成功/失败。有人可以帮助我吗?如何在HTML联系表单上设置PHP?

谢谢

<form id="form_1109748" class="appnitro" method="post" action=""> 
<div class="form_description"> 
    <h2>E-mail Form</h2> 
    <p>You can call us at (416) 247-8080 or fill out the form below to get in touch!</p> 
</div>      
    <ul > 

      <li id="li_1" > 
<label class="description" for="element_1">Name </label> 
<span> 
    <input id="element_1_1" name= "element_1_1" class="element text" maxlength="255" size="25" value=""/> 
    <label>First</label> 
</span> 
<span> 
    <input id="element_1_2" name= "element_1_2" class="element text" maxlength="255" size="25" value=""/> 
    <label>Last</label> 
</span> 
</li>  <li id="li_2" > 
<label class="description" for="element_2">Phone </label> 
<span> 
    <input id="element_2_1" name="element_2_1" class="element text" size="5" maxlength="3" value="" type="text"> - 
    <label for="element_2_1">(###)</label> 
</span> 
<span> 
    <input id="element_2_2" name="element_2_2" class="element text" size="5" maxlength="3" value="" type="text"> - 
    <label for="element_2_2">###</label> 
</span> 
<span> 
    <input id="element_2_3" name="element_2_3" class="element text" size="8" maxlength="4" value="" type="text"> 
    <label for="element_2_3">####</label> 
</span> 

</li>  <li id="li_3" > 
<label class="description" for="element_3">Email </label> 
<div> 
    <input id="element_3" name="element_3" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_4" > 
<label class="description" for="element_4">Car Make </label> 
<div> 
    <input id="element_4" name="element_4" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_5" > 
<label class="description" for="element_5">Car Model </label> 
<div> 
    <input id="element_5" name="element_5" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_6" > 
<label class="description" for="element_6">Message </label> 
<div> 
    <textarea id="element_6" name="element_6" class="element textarea medium"></textarea> 
</div> 
</li> 

      <li class="buttons"> 
     <input type="hidden" name="form_id" value="1109748" /> 

     <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" /> 
</li> 
    </ul> 
</form> 
+1

您需要先学习'PHP'的基础知识。 – Samir

+2

大约有65936593649个帖子在StackOverflow上单独使用。你确定没有一个帮助你?那么为什么65936593650的例子会更好? – arkascha

+0

您可以使用PHP的'mail()'函数 – Panda

这是你在找什么一个非常基本的版本。您应该了解如何在实际发送电子邮件之前使用PHP验证表单字段的内容,以避免任何安全风险。但是,再次,这将做你想要的。

<?php 

/* If the form has been submitted. If means that the code between the { and } will only be executed if the statement is true. */ 
if(isset($_POST['submit'])){ 

//change the part inside the quotes to change the mailto address 
$mailto = "[email protected]"; 
$subject = "Your Subject"; 

//$_POST is the variable that gets all your form information. It's an array and the array elements(e.g.['element_1_1']) correspond with the names of your form elements. 
$message = ' 
Name: '.$_POST['element_1_1'].'<br> 
Phone: '.$_POST['element_2_1'].' '.$_POST['element_2_2'].'-'.$_POST['element_2_3'].'<br> 
Email: '.$_POST['element_3'].'<br> 
Car Make: '.$_POST['element_4'].'<br> 
Car Model: '.$_POST['element_5'].'<br> 
Message: '.$_POST['ement_6']; 

//We are telling the email script that the message will be made up of HTML 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

    //If the mail message was sent, tell the user it was. If it wasn't, tell the user it was not sent. 
    if(mail($mailto, $subject, $_POST['element_6'], $headers)){ 

     echo "Your email has been sent."; 

    } else { 

     echo "Could not send your email."; 

    } 

//The form hasn't been submitted, so display the HTML of the form. 
} else { ?> 


<form id="form_1109748" class="appnitro" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<div class="form_description"> 
    <h2>E-mail Form</h2> 
    <p>You can call us at (416) 247-8080 or fill out the form below to get in touch!</p> 
</div>      
    <ul > 

      <li id="li_1" > 
<label class="description" for="element_1">Name </label> 
<span> 
    <input id="element_1_1" name= "element_1_1" class="element text" maxlength="255" size="25" value=""/> 
    <label>First</label> 
</span> 
<span> 
    <input id="element_1_2" name= "element_1_2" class="element text" maxlength="255" size="25" value=""/> 
    <label>Last</label> 
</span> 
</li>  <li id="li_2" > 
<label class="description" for="element_2">Phone </label> 
<span> 
    <input id="element_2_1" name="element_2_1" class="element text" size="5" maxlength="3" value="" type="text"> - 
    <label for="element_2_1">(###)</label> 
</span> 
<span> 
    <input id="element_2_2" name="element_2_2" class="element text" size="5" maxlength="3" value="" type="text"> - 
    <label for="element_2_2">###</label> 
</span> 
<span> 
    <input id="element_2_3" name="element_2_3" class="element text" size="8" maxlength="4" value="" type="text"> 
    <label for="element_2_3">####</label> 
</span> 

</li>  <li id="li_3" > 
<label class="description" for="element_3">Email </label> 
<div> 
    <input id="element_3" name="element_3" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_4" > 
<label class="description" for="element_4">Car Make </label> 
<div> 
    <input id="element_4" name="element_4" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_5" > 
<label class="description" for="element_5">Car Model </label> 
<div> 
    <input id="element_5" name="element_5" class="element text medium" type="text" maxlength="255" value=""/> 
</div> 
</li>  <li id="li_6" > 
<label class="description" for="element_6">Message </label> 
<div> 
    <textarea id="element_6" name="element_6" class="element textarea medium"></textarea> 
</div> 
</li> 

      <li class="buttons"> 
     <input type="hidden" name="form_id" value="1109748" /> 

     <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" /> 
</li> 
    </ul> 
</form> 
<?php 
} 
?> 
+0

我想使用,但是我认为它缺少mailto地址,并且还有多个用于名称/电话的文本框,但我希望将它全部放在一行上。这将如何工作? –

+0

mailto地址在邮件功能中由$ _POST ['element_3']表示。我已更新答案以包含完整的电话号码。假设用户输入正确,它将显示为(123)456-7890 – ShoeLace1291

+1

如果我可以设置“$ to”地址,则创建垃圾邮件机器人的好方法。另外:你发送的HTML邮件没有消毒用户输入。此代码不应该在生产中看到白天。 – Bjorn