无法通过POST获取数据

时间:2014-11-28 13:01:21

标签: php html post

在html文件中,我有以下部分代码:

<!-- Contact Form -->


<section>
        <form method="post" action="sendmail.php">
                <div class="row 50%">
                        <div class="6u">
                                <input type="text" name="name" id="contact-name" placeholder="Name" />
                        </div>
                        <div class="6u">
                                <input type="text" name="email" id="contact-email" placeholder="Email" />
                        </div>
                </div>
                <div class="row 50%">
                        <div class="12u">
                                <textarea name="message" id="contact-message" placeholder="Message" rows="4"></texta$
                        </div>
                </div>
                <div class="row">
                        <div class="12u">
                                <ul class="actions">
                                        <li><input type="submit" class="style1" value="Send" /></li>
                                        <li><input type="reset" class="style2" value="Reset" /></li>
                                </ul>
                        </div>
                </div>
        </form>
</section>

在php文件sendmail.php中,我有:

<?php
    $address = $_POST['contact-email'];
    $body = $_POST['contact-message'];
    $name = $_POST['contact-name'];
    echo($address);
    echo($body);
    echo($name);

&GT;

当我尝试运行此表单时,它没有做任何事情。也许我做错了什么?

2 个答案:

答案 0 :(得分:6)

因为在发布的文件中,您没有使用正确的名称进行访问:

您正尝试通过id而不是name访问这些已发布的变量。

当表单发布时,其变量可以通过name属性加密,因为它们是$_GET$_POST的键。

idclass$_GET中,

$_POST$_REQUEST不在任何地方考虑。

$address = $_POST['contact-email'];
$body = $_POST['contact-message'];
$name = $_POST['contact-name'];

应该是

$address = $_POST['email'];
$body = $_POST['message'];
$name = $_POST['name'];

答案 1 :(得分:2)

您必须使用字段名称而不是字段ID。

如:

 $address = $_POST['email'];

  $name = $_POST['name'];

  echo($body);

  echo($name);