繁体   English   中英

如何使我的html代码和php联系人表单文件工作?

[英]How can I make my html code and php contact form file work?

我在使我的contact.php表单正常工作时遇到问题。 现在,在我完全没有收到邮件消息之前,确实已经发送了电子邮件,这就是所有显示的内容:

From:  
E-mail:  
Message:

这是我的html形式:

<form role="form" class="form-alt" action="contact.php" method="post">
            <div class="form-group">
                <label for="name" class="sr-only">name</label>
                <input type="text" class="form-control" id="name" placeholder="Name (Required)">
            </div>
            <div class="form-group">
                <label for="email" class="sr-only">Email</label>
                <input type="email" class="form-control" id="email" placeholder="Email (Required)">
            </div>
            <div class="form-group">
                <label for="subject" class="sr-only">Subject</label>
                <input type="text" class="form-control" id="subject" placeholder="Subject">
            </div>
            <div class="form-group">
                <label for="message" class="sr-only">message</label>
                <textarea id="message" class="form-control" cols="30" rows="7" placeholder="Message"></textarea>
            </div>
            <button type="submit" class="btn btn-default">Enviar</button>
        </form>

        </div>

这是PHP联系人文件:

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];

$mail_to = 'mail@example.com';
$subject = 'Message from a site visitor '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Thank you for the message. We will contact you shortly.');
        window.location = 'contact_page.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed. Please, send an email to gordon@template-help.com');
        window.location = 'contact_page.html';
    </script>
<?php
}
?>

您需要为每个表单元素赋予一个name属性。 例如:

<input type="email" class="form-control" id="email" placeholder="Email (Required)">

应该:

<input type="email" name="cf_email" class="form-control" id="email" placeholder="Email (Required)">

您的代码,例如$field_email = $_POST['cf_email']; 正在寻找名称为cf_email的输入元素。 没有它,您将获得一个空白值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM