HTML + PHP表单没有发送到我的电子邮件

时间:2015-05-08 11:16:16

标签: php html forms

已经提出了很多类似的问题,但找不到我所遇到的确切问题的答案。我有一个完全正常的表单,但我要求某人设计得更好(他做了)现在它不再起作用了。我不知道是什么导致了它。

我假设我的HTML代码表单中有问题,因为.php页面在我的上一页上工作得很好(我完全复制/粘贴)。

有什么想法吗?

<form name="htmlform" method="post" action="html_form_send.php">
<div class="row has-form">
    <div class="col-xs-12 col-sm-8 col-sm-offset-2">
            <div class="form-group">
                <label for="first_name" class="col-sm-3 control-label">Prénom *</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="first_name">
                    </div>
            </div>

            <div class="form-group">
                <label for="last_name" class="col-sm-3 control-label">Nom *</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="last_name">
                    </div>
            </div>

            <div class="form-group">
                <label for="email" class="col-sm-3 control-label">Email *</label>
                    <div class="col-sm-9">
                        <input type="email" class="form-control" id="email">
                    </div>
            </div>

            <div class="form-group">
                <label for="telephone" class="col-sm-3 control-label">Téléphone</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="telephone">
                    </div>
            </div>

            <div class="form-group">
                <label for="comments" class="col-sm-3 control-label">Votre critique *</label>
                    <div class="col-sm-9">
                        <textarea class="form-control" rows="6" id="comments"></textarea>
                    </div>
            </div>

        <div class="col-xs-12 col-sm-9 col-sm-offset-3 text-center">
            <button type="submit" class="btn btn-primary btn-lg btn-block">Envoyer</button>
        </div>
    </div>
</div>
</form>

2 个答案:

答案 0 :(得分:4)

您的输入没有“name”属性为每个输入标记添加“name”属性,其值与“id”属性相同 Php在发布时使用NAME作为标识符。

清除:

如果您尝试从PHP中的POST获取输入值,则必须使用以下代码:

$var = $_POST['IDENTIFIER'];

其中IDENTIFIER是您要检索的INPUTTEXTAREA或任何其他HTML FORM元素的“name”属性的值。

答案 1 :(得分:0)

所有输入都需要属性name="first_name"等等:

<input type="text" class="form-control" id="first_name" name="first_name">

html_form_send.php必须如下:

<?php 
   if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     $first_name = $_POST['first_name'];
     $last_name = $_POST['last_name'];
     $email = $_POST['email'];
     $telephone = $_POST['telephone'];
     $comments = $_POST['comments'];

     //preparing mail data
     $from = $email;
     $to = "yourmail@exemple.com";
     $subject = "Sending Form From site";
     $message = "First name: $first_name \r\nLast name:$last_name \r\nTelephone: $telephone \r\nComments: $comments";
     $headers = 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
     //sending 
     mail($to, $subject, $message, $headers);

   }
?>