HTML不将内容传递给PHP联系表单

时间:2014-09-03 14:26:20

标签: php html forms contact

<section id="contact">
    <div class="container">
        <div class="row">
            <div class="col-lg-12 text-center">
                <h2>Contact Me</h2>
                <hr class="star-primary">
            </div>
        </div>
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2">
                <!-- To configure the contact form email address, go to mail/contact_me.php and update the email address in the PHP file on line 19. -->
                <!-- The form should work on most web servers, but if the form is not working you may need to configure your web server differently. -->
                <form name="sentMessage" id="contactForm" onsubmit="return validate()" action="contactme.php">
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Name</label>
                            <input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Email Address</label>
                            <input type="email" class="form-control" placeholder="Email Address" id="emailz" required data-validation-required-message="Please enter your email address.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Phone Number</label>
                            <input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Message</label>
                            <textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea>
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <br>
                    <div id="success"></div>
                    <div class="row">
                        <div class="form-group col-xs-12">
                            <input type="submit" value="Submit" name="Submit" class="btn btn-success btn-lg"></input>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</section>

&LT; ----- ----- PHP&GT;

<?php

if(empty($_POST['name'])        ||
   empty($_POST['emailz'])      ||
   empty($_POST['phone'])       ||
   empty($_POST['message']) ||
   !filter_var($_POST['emailz'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!!";
return false;
   }

$name = $_POST['name']; 
$email = $_POST['emailz'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$headers = "From: noreply@yourdomain.com\n"; // This is the email address the generated message will be from
$headers .= "Reply-To: $emailz";    

$subject = 'New Message - Kieronb- $name';



$body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $emailz\n\nPhone: $phone\n\nMessage:\n$message";

mail("k@gmail.com",$subject,$body,$headers);
return true;
?>

所以,上面是HTML和PHP,现在这个代码的大部分已经从一个引导程序项目中进行了frankensteined,但是我想我也只是玩了一个联系表单,但是它一直都是通过PHP开头的缺失参数catch。

我不明白为什么数据是空的 - 我错过了一些非常明显的东西吗?

我在网络服务器上运行,而不是在本地运行。

由于

编辑;谢谢大家,我忘了我的方法,并在表格上写下名字!

1 个答案:

答案 0 :(得分:6)

您的表单字段没有name属性。没有它们,它们的值不会随表格一起提交。

<input type="email" class="form-control" placeholder="Email Address" id="emailz" required data-validation-required-message="Please enter your email address.">

应该是

<input type="email" name="emailz" class="form-control" placeholder="Email Address" id="emailz" required data-validation-required-message="Please enter your email address.">

您的<form>需要将方法指定为POST,否则默认为GET

<form method="post" name="sentMessage" id="contactForm" onsubmit="return validate()" action="contactme.php">