【问题标题】:Cannot get data over POST无法通过 POST 获取数据
【发布时间】:2014-11-28 13:01:20
【问题描述】:

在 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);

?>

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

【问题讨论】:

  • $_POST['contact-email']; 指的是元素的name,而不是id,所以你可以改用&lt;input type="text" name="contact-email" id="contact-email" placeholder="Email" /&gt;

标签: php html post


【解决方案1】:

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

您正试图通过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'];

【讨论】:

  • @Nikita:如果我的答案对您有用,您能否将我的答案标记为解决方案?
【解决方案2】:

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

如:

 $address = $_POST['email'];

  $name = $_POST['name'];

  echo($body);

  echo($name);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多