【问题标题】:How to set up PHP on HTML contact form?如何在 HTML 联系表单上设置 PHP?
【发布时间】:2016-03-06 09:07:52
【问题描述】:

我正在尝试创建一个联系表单,但是,我不知道如何创建 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的基础知识。
  • 在 StackOverflow 上有大约 65936593649 篇仅包含示例的帖子。你确定这些都没有帮助到你吗?那为什么第 65936593650 个例子会更好呢?
  • 你可以使用PHP的mail()函数
  • 您可能还想考虑将输入标签命名为更明确的名称。如果您尝试编写 PHP 代码来提交此表单,您只会将自己与您正在检索的字段混淆。
  • 请先学习一些服务器端编程。对于表单提交,这里有一个很好的教程:123contactform.com/simple-php-contact-form.html

标签: php html forms contact


【解决方案1】:

这是您正在寻找的一个非常基本的版本。您应该学习如何在实际发送电子邮件之前使用 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 = "someaddress@somedomain.com";
$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地址在mail函数中用$_POST['element_3']表示。我已更新答案以包含完整的电话号码。假设用户输入正确,它将显示为 (123) 456-7890
  • 如果我可以设置$to 地址,这是创建垃圾邮件机器人的好方法。另外:您正在发送 HTML 电子邮件而不清理用户输入。这段代码不应该在生产中出现。
猜你喜欢
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
相关资源
最近更新 更多