【问题标题】:$_Post doesn't take the info from form into the array$_Post 不会将表单中的信息带入数组
【发布时间】:2016-07-10 16:58:55
【问题描述】:

我的 $_Post 不起作用。当我用 var_dump 打印它时,它说数组中有 0 个项目。这是代码

<form method = "post" action = "contact-process.php">
        <table>
            <tr>
                <th>
                    <label for = "name">Name</label>
                </th>
                <td>
                    <input type = "text" name = "name" id = "name">
                </td>
            </tr>
            <tr>
                <th>
                    <label for = "email">Email</label>
                </th>
                <td>
                    <input type = "text" name = "email" id = "email">
                </td>
            </tr>
            <tr>
                <th>
                    <label for = "message" >Message</label>
                </th>
                <td>
                    <textarea name = "message" id = "message" ></textarea>
                </td>
            </tr>
        </table>
        <input type = "submit" value = "Send">
    </form>


<?php
     var_dump($_POST);
     $name = $_POST["name"];
     $email = $_POST["email"];
     $message = $_POST["message"];
echo $name;
echo $email;
echo $message; ?>

这是我的表单的 html 代码和 contact-process.php 代码 var_dump 命令返回 0 个项目并回显变量返回未定义的索引:'name'、'email'、'message'

【问题讨论】:

  • 请出示您的 HTML 代码。
  • 先检查isset($_POST)
  • 那是因为在提交表单之前,他们没有发布数据。而且由于您不检查是否有代码总是执行的表单提交。
  • 我已经像这样检查了 isset($_POST) : var_dump(isset($_POST));它返回布尔值 true。

标签: php post


【解决方案1】:

var_dump 返回 0,因为它在第一次加载时没有任何元素。所以设置一个条件来检查提交按钮是否被点击。

您需要指定一个名称属性来进行检查。

<form method = "post" action = "contact-process.php">
        <table>
            <tr>
                <th>
                    <label for = "name">Name</label>
                </th>
                <td>
                    <input type = "text" name = "name" id = "name">
                </td>
            </tr>
            <tr>
                <th>
                    <label for = "email">Email</label>
                </th>
                <td>
                    <input type = "text" name = "email" id = "email">
                </td>
            </tr>
            <tr>
                <th>
                    <label for = "message" >Message</label>
                </th>
                <td>
                    <textarea name = "message" id = "message" ></textarea>
                </td>
            </tr>
        </table>
        <input type = "submit" value = "Send" name="submit">
    </form>  


        <?php
                if(isset($_POST["submit"]))  
                {   
                     var_dump($_POST);
                     $name = $_POST["name"];
                     $email = $_POST["email"];
                     $message = $_POST["message"];

                     echo $name;
                     echo $email;
                     echo $message;
                } 
            ?>

我希望这能完成你的工作。 :)

【讨论】:

    猜你喜欢
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2016-08-26
    • 2017-07-01
    相关资源
    最近更新 更多