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

时间:2013-11-10 06:55:15

标签: php html forms twitter-bootstrap post

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

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

<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) { } 

4 个答案:

答案 0 :(得分:50)

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

例如:

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

答案 1 :(得分:3)

尝试将name属性添加到每个输入标记和select标记。那应该做。

答案 2 :(得分:0)

使用编辑过的脚本:

<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>

<强>输出:

enter image description here

答案 3 :(得分:0)

尝试为输入字段的每个字段指定名称,并提供要提交按钮的名称。所以你的问题将得到解决。