简单表单不通过_POST发送数据

jac*_*tis 11 html php forms post twitter-bootstrap

哇,这太尴尬了.这应该是另一种无聊的网络形式.我以前做过很多,但由于某种原因,这个特定的人不想合作.我不知何故错过了什么?我一直试图弄清楚这几个小时.我发誓我已经尝试过排除一切,没有任何运气.

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

<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>
Run Code Online (Sandbox Code Playgroud)

如果有人有任何想法,请告诉我.我把头发拉了出来.我想我会整晚都在查询数据库时遇到问题,或者搞乱AJAX以使其更加完美,但我甚至无法通过提交RAW数据的表单!很沮丧.我希望有人能看到这个问题.

对于记录,这是我重新定向到signup1.php之后的确切消息(是的,它转到右页).在PHP上,我所做的是整个$ _POST变量的Var_dump.

var_dump($_POST);
Run Code Online (Sandbox Code Playgroud)

它告诉我这个:

array(0) { } 
Run Code Online (Sandbox Code Playgroud)

Cod*_*key 60

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

例如:

<input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
Run Code Online (Sandbox Code Playgroud)

  • 那个 F$%#ing 起作用了!啊谢谢。我知道这将是像这样简单的事情。我正在混合`name`和`id`。因此,您希望标签中的 `For=""` 与输入中的 `name=` 匹配。然后帖子必须使用数组的`name`。知道了。好吧,我再也不会犯那个错误了:) 谢谢。它不会让我再选 8 分钟的正确答案。我会尽快检查。再次感谢。 (3认同)
  • 我的天啊!过去两天我一直在思考这个问题!我不敢相信我也让它发生了......有时这些小事情只是被忽视了。感谢@jacurtis (2认同)

小智 5

尝试将 name 属性添加到每个 input 标签和 select 标签。应该这样做。