【问题标题】:Simple form not sending data via _POST [duplicate]简单表单不通过_POST发送数据[重复]
【发布时间】:2013-11-22 02:51:19
【问题描述】:

哇,这太尴尬了。这应该是另一个无聊的网络表单。我以前做过很多,但出于某种原因,这个特定的人不想合作。我是否以某种方式错过了什么?几个小时以来,我一直试图弄清楚这一点。我发誓我已经尝试解决所有问题,但没有任何运气。

基本上,我试图通过 $_POST 发送到 PHP 文件。最终我将使用 AJAX,但现在我什至无法将愚蠢的东西发布到帖子中。因此,当您单击提交时,它会转到正确的页面。但是我收到一个错误“未定义索引(然后指向我调用我的 $_POST 变量的行)。我已经注释掉了 PHP 端的所有内容(signup1.php)所以现在它所做的只是var_dump($_POST); 所以我可以查看数据,它没有从 _POST 得到任何东西,愚蠢的东西是空的。我真的认为问题出在 HTML 方面。我会准确地发布我的代码。它有大量额外的 div 用于样式和布局目的。我是将所有这些都保留在那里以防万一这是错误的原因,也许你们中的一个人会知道。另外,您可能会注意到我正在使用引导程序。也许这是什么?我之前使用引导程序作为表单及其工作,但谁知道呢。

<form action="actions/signup1.php" method="post">
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label for="name">Name:</label>
                    <input type="text" id="name" class="form-control" placeholder="John Smith">
                </div>
            </div> <!-- end of name input column -->
            <div class="col-md-6">
                <div class="form-group">
                    <label for="phone">Phone Number:</label>
                    <input type="text" id="phone" class="form-control" placeholder="801-321-9876">
                </div> 
            </div> <!-- end of phone number input column -->
        </div> <!-- end of first .row of inputs -->

        <div class="row">
            <div class="col-md-6 column-sm-12">
                <div class="form-group">
                    <label for="email">Email Address:</label>
                    <input type="text" id="email" class="form-control" placeholder="johnsmith@me.com">
                </div>
            </div> <!-- end of email address input column -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="city">City:</label>
                    <select id="city" class="form-control">
                        <option>Las Vegas</option>
                        <option>Salt Lake City</option>
                        <option>I'll Choose a Default Later...</option>
                    </select>
                </div>
            </div> <!-- end of city dropdown -->

            <div class="col-md-3 col-sm-6">
                <div class="form-group">
                    <label for="type-of-phone">Type of Phone:</label>
                    <select id="type-of-phone" class="form-control">
                        <option>iPhone</option>
                        <option>Android</option>
                        <option>Windows Phone</option>
                        <option>Blackberry</option>
                        <option>Other Cellphone</option>
                        <option>Landline</option>
                    </select>
                </div>
            </div> <!-- end of Smartphone Question Dropdown -->
        </div> <!-- end of second .row of inputs -->
        <div class="row">
            <div class="col-md-12"><input type="submit" value="Submit"></div>
        </div>
    </form>

如果有人有任何想法,请告诉我。我正在拔头发。我想我会因为查询数据库或弄乱 AJAX 以使其完善的问题而彻夜难眠,但我什至无法通过提交 RAW 数据的表单!非常令人沮丧。我希望有人能看到这个问题。

作为记录,这是我在表单重定向到 signup1.php 后的确切消息(是的,它转到了正确的页面)。在 PHP 上,我所做的只是整个 $_POST 变量的 Var_dump。

var_dump($_POST);

它向我展示了这个:

array(0) { } 

【问题讨论】:

    标签: php html forms twitter-bootstrap post


    【解决方案1】:

    您应该将 name 属性添加到表单字段。

    例如:

    <input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
    

    【讨论】:

    • F$%#ing 成功了!啊谢谢。我知道这将是这样简单的事情。我正在混合nameid。因此,您希望标签中的 For="" 与输入中的 name= 匹配。那么帖子必须使用name 作为数组。知道了。好吧,我再也不会犯那个错误了:)谢谢。它不会让我再选择 8 分钟的正确答案。我会尽快检查的。再次感谢。
    • 没问题,伙计!实际上,标签的“for”属性应该对应于您希望将其绑定到的元素的 ID。再见,祝你好运:)
    • 天哪!过去两天我一直在努力解决这个问题!我不敢相信我也让它发生了……有时这些小事就被忽视了。感谢@jacurtis
    • 原来提交按钮也需要有一个name属性。
    • 同上。只花了 3 小时想知道为什么表单不会发布。我用过“id=code”……但忘记了“name=code”部分!!所以谢谢
    【解决方案2】:

    尝试将名称属性添加到每个输入标签和选择标签。应该这样做。

    【讨论】:

      【解决方案3】:

      尝试为输入字段的每个字段命名,并为提交按钮提供名称。这样你的问题就迎刃而解了。

      【讨论】:

        【解决方案4】:

        使用编辑过的脚本:

        <form action="actions/signup1.php" method="post">
                <div class="row">
                    <div class="col-md-6">
                        <div class="form-group">
                            <label for="name">Name:</label>
                            <input type="text" id="name" name="name" class="form-control" placeholder="John Smith">
                        </div>
                    </div> <!-- end of name input column -->
                    <div class="col-md-6">
                        <div class="form-group">
                            <label for="phone">Phone Number:</label>
                            <input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
                        </div> 
                    </div> <!-- end of phone number input column -->
                </div> <!-- end of first .row of inputs -->
        
                <div class="row">
                    <div class="col-md-6 column-sm-12">
                        <div class="form-group">
                            <label for="email">Email Address:</label>
                            <input type="text" name="email" id="email" class="form-control" placeholder="johnsmith@me.com">
                        </div>
                    </div> <!-- end of email address input column -->
        
                    <div class="col-md-3 col-sm-6">
                        <div class="form-group">
                            <label for="city">City:</label>
                            <select id="city" name="city" class="form-control">
                                <option>Las Vegas</option>
                                <option>Salt Lake City</option>
                                <option>I'll Choose a Default Later...</option>
                            </select>
                        </div>
                    </div> <!-- end of city dropdown -->
        
                    <div class="col-md-3 col-sm-6">
                        <div class="form-group">
                            <label for="type-of-phone">Type of Phone:</label>
                            <select id="type-of-phone" name="type-of-phone" class="form-control">
                                <option>iPhone</option>
                                <option>Android</option>
                                <option>Windows Phone</option>
                                <option>Blackberry</option>
                                <option>Other Cellphone</option>
                                <option>Landline</option>
                            </select>
                        </div>
                    </div> <!-- end of Smartphone Question Dropdown -->
                </div> <!-- end of second .row of inputs -->
                <div class="row">
                    <div class="col-md-12"><input type="submit" value="Submit"></div>
                </div>
            </form>
        

        输出:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-11
          • 2021-05-25
          • 2016-03-11
          • 2016-05-26
          • 2021-09-09
          • 2014-03-09
          • 2020-11-08
          • 1970-01-01
          相关资源
          最近更新 更多