16

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

基本上,我试图通过 $_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) { } 
4

4 回答 4

78

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

例如:

<input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876">
于 2013-11-10T06:57:26.657 回答
4

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

于 2013-11-10T07:04:32.160 回答
1

尝试为输入字段的每个字段命名,并为提交按钮提供名称。这样你的问题就会得到解决。

于 2017-02-02T12:11:21.507 回答
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>

输出:

在此处输入图像描述

于 2013-11-10T07:09:35.017 回答