Php 引导:提交表数据

Php 引导:提交表数据,php,html,twitter-bootstrap-3,html-table,submit,Php,Html,Twitter Bootstrap 3,Html Table,Submit,我尝试进入bootstrap,因此我尝试构建一个包含某种内容管理交互的网站。下面是一个可以插入成分的表格,这些成分应该插入到MYSQL关系中。当我填写下表时,出现了一个问题,因为表单(包装在表中)不会提交任何内容 <form class="form-horizontal" id="ingredients" role="form" action="process_input.php" method="POST"> <table> <caption>ins

我尝试进入bootstrap,因此我尝试构建一个包含某种内容管理交互的网站。下面是一个可以插入成分的表格,这些成分应该插入到MYSQL关系中。当我填写下表时,出现了一个问题,因为表单(包装在表中)不会提交任何内容

<form class="form-horizontal" id="ingredients" role="form" action="process_input.php" method="POST">
<table>
    <caption>insert ingredients</caption>
<thead>
  <tr>
    <th>Quantity</th>
    <th>Unit</th>
    <th>Name</th>
    <th></th>
  </tr>
</thead>
<tbody>
<tr>
<div class="form-group">
    <td><select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select></td>
    <td> <select id="opt1b" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="3">Litre</option>
        <option value="3">Cup</option>
        <option value="4">TS</option>
  </select></td>
    <td><input id="opt1c"></td>
    <td><input class="btn btn-primary" type="reset" value="Reset"></td>
</div>
</tr>

<tr>
<div class="form-group">
    <td><select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select></td>
    <td> <select id="opt1b" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="3">Litre</option>
        <option value="3">Cup</option>
        <option value="4">TS</option>
  </select></td>
    <td><input id="opt1c"></td>
    <td><input class="btn btn-primary" type="reset" value="Reset"></td>
</div>
</tr>

<tr>
<div class="form-group">
    <td><select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select></td>
    <td> <select id="opt1b" class="custom-select mb-2 mr-sm-2 mb-sm-0">
        <option selected>Choose</option>
        <option value="3">Litre</option>
        <option value="3">Cup</option>
        <option value="4">TS</option>
  </select></td>
    <td><input id="opt1c"></td>
    <td><input class="btn btn-primary" type="reset" value="Reset"></td>
</div>
</tr>
</tbody>
 <button class="btn btn-sucess">Send</button>

插入成分
量
单位
名称
选择
1.
2.
3.
4.
5.
6.
7.
8.
选择
升
杯
TS
选择
1.
2.
3.
4.
5.
6.
7.
8.
选择
升
杯
TS
选择
1.
2.
3.
4.
5.
6.
7.
8.
选择
升
杯
TS
发送

php脚本的过程非常简单

<?php
print_r($_GET);
print_r($_POST);
?>

表中一定有错误,因为提交后两个数组仍然为空


编辑:谢谢你所有的更正。现在可以了。stackoverflow社区速度惊人!:)

表中没有任何错误。表格用于制作用户可见的布局

在php中使用
$\u GET
$\u POST
全局变量获取表单数据

正如我所看到的,您在任何输入中都没有给出属性
name

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">

在上面的代码中,缺少name属性。因此,添加name属性,如下所示:

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="selectbox">
                                                                 ^^^name can be your choice

^^^名字可以是你的选择
注意:表单提交后,PHP全局变量
$\u GET
$\u POST
用输入字段的名称保存该值。与上面的示例类似,该值将位于
$\u POST['selectbox']
$\u GET['selectbox']


因此,您必须为每个输入类型指定name属性。

表中没有任何错误。表格用于制作用户可见的布局

在php中使用
$\u GET
$\u POST
全局变量获取表单数据

正如我所看到的,您在任何输入中都没有给出属性
name

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">

在上面的代码中,缺少name属性。因此,添加name属性,如下所示:

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="selectbox">
                                                                 ^^^name can be your choice

^^^名字可以是你的选择
注意:表单提交后,PHP全局变量
$\u GET
$\u POST
用输入字段的名称保存该值。与上面的示例类似,该值将位于
$\u POST['selectbox']
$\u GET['selectbox']


因此,您必须为每个输入类型指定name属性。

您提供的代码中的方法是POST。 当您在POST中明确提交时,为什么要在PHP中使用GET?那是一点

<form class="form-horizontal" id="ingredients" role="form" action="process_input.php" method="POST">

另一件事是你的提交按钮。您没有定义按钮的类型。它应该是“提交”类型

<button class="btn btn-sucess" type="submit">Send</button>
发送
您的select元素缺少name属性,PHP使用该属性唯一标识输入中的值

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="yourSelectName">

最后,由于您试图通过POST获取值,请创建保存每个选择框的POST值的变量。您可以按照以下示例进行操作:

<?php
$selectBox1 = $_POST['selectBox1'];
$selectBox2 = $_POST['selectBox2'];

echo $selectBox1 . " " $selectBox2;
?>

您提供的代码中的方法是POST。 当您在POST中明确提交时,为什么要在PHP中使用GET?那是一点

<form class="form-horizontal" id="ingredients" role="form" action="process_input.php" method="POST">

另一件事是你的提交按钮。您没有定义按钮的类型。它应该是“提交”类型

<button class="btn btn-sucess" type="submit">Send</button>
发送
您的select元素缺少name属性,PHP使用该属性唯一标识输入中的值

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="yourSelectName">

最后,由于您试图通过POST获取值,请创建保存每个选择框的POST值的变量。您可以按照以下示例进行操作:

<?php
$selectBox1 = $_POST['selectBox1'];
$selectBox2 = $_POST['selectBox2'];

echo $selectBox1 . " " $selectBox2;
?>

表没有问题您只需设置输入名称属性
name=“opt1a”

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="opt1a">
并通过赋予type属性使您的按钮提交

<button type="submit" class="btn btn-sucess">Send</button>
发送
并确保每个打开的标签都有关闭标签。 如果没有name属性,则无法在服务器端代码中获取任何输入字段值。

我希望它能有所帮助。

这不是表的问题,您只需设置输入名称属性
name=“opt1a”

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0" name="opt1a">
并通过赋予type属性使您的按钮提交

<button type="submit" class="btn btn-sucess">Send</button>
发送
并确保每个打开的标签都有关闭标签。 如果没有name属性,则无法在服务器端代码中获取任何输入字段值。

我希望它能有所帮助。

在查看代码后,发现了一些错误

1)您尚未关闭表单

2)并且您正在向PHP发送所有选择选项值null,即您选择的第一个选项没有与之关联的值。所以最后显示一个空数组

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">
<option value="0" selected>Choose</option>

选择
3)为每个选择下拉列表指定不同的名称,以区分访问

<select name="differentName" id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">

4)表单操作应该是打开表单标签后的第一件事

<form action="process_input.php" class="form-horizontal" id="ingredients" role="form"   method="POST">

查看代码后,您发现了一些问题

1)您尚未关闭表单

2)并且您正在向PHP发送所有选择选项值null,即您选择的第一个选项没有与之关联的值。所以最后显示一个空数组

<select id="opt1a" class="custom-select mb-2 mr-sm-2 mb-sm-0">
<option value="0" selected>Choose</option>

选择
3)给予