如何在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>
这是你在找什么一个非常基本的版本。您应该了解如何在实际发送电子邮件之前使用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
}
?>
我想使用,但是我认为它缺少mailto地址,并且还有多个用于名称/电话的文本框,但我希望将它全部放在一行上。这将如何工作? –
mailto地址在邮件功能中由$ _POST ['element_3']表示。我已更新答案以包含完整的电话号码。假设用户输入正确,它将显示为(123)456-7890 – ShoeLace1291
如果我可以设置“$ to”地址,则创建垃圾邮件机器人的好方法。另外:你发送的HTML邮件没有消毒用户输入。此代码不应该在生产中看到白天。 – Bjorn
您需要先学习'PHP'的基础知识。 – Samir
大约有65936593649个帖子在StackOverflow上单独使用。你确定没有一个帮助你?那么为什么65936593650的例子会更好? – arkascha
您可以使用PHP的'mail()'函数 – Panda