为什么当我发布一个表单元素时,我得到未定义的索引错误?

时间:2017-05-31 11:08:27

标签: php html forms form-submit

我正在从数据库中检索一些数据,并使用以下代码将它们插入到表中。我试图使每一行成为一个表单,一旦用户单击按钮我想将信息发送到sub.php以将其存储在DB中。当前问题是当我发布信息时我得到未定义的值。 这是我的代码:

   while($row = $result->fetch_assoc()) {
                                echo '<form  method="Post" action="sub.php" ><tr>
                                            <td class="text-center" style="border-color:yellow;color:white;">'
                                                .$row["name"] .
                                            '</td>
                                            <td class="text-center" style="border-color:yellow;color:white;">'
                                                .$row["course_name"] .
                                            '</td>
                                            <td class="text-center" style="border-color:yellow;color:white;">'
                                                .$row["course_lec"] .
                                            '</td>
                                            <td class="text-center"  style="border-color:yellow;color:white;">'
                                                .$row["course_sem"] .
                                            '</td>
                                            <td class="text-center" style="border-color:yellow;color:white;" >
                                                <select  style="background-color: #222222; border: none; name="q1">
                                                 <option value="0">0</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>
                                                  <option value="9">9</option>
                                                  <option value="10">10</option>

                                            </select>   

                                            </td>
                                            <td class="text-center" style="border-color:yellow;color:white;">
                                            <select  style="background-color: #222222; border: none; name="q2">
                                                 <option value="0">0</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>
                                                  <option value="9">9</option>
                                                  <option value="10">10</option>

                                            </select>    
                                            </td>
                                            <td class="text-center"  style="border-color:yellow;color:white;">
                                                   <select  style="background-color: #222222; border: none; name="q3">
                                                 <option value="0">0</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>
                                                  <option value="9">9</option>
                                                  <option value="10">10</option>

                                            </select>   
                                            </td>
                                            <td class="text-center" style="border-color:yellow;color:white;">
                                                   <select  style="background-color: #222222; border: none; name="q4">
                                                 <option value="0">0</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>
                                                  <option value="9">9</option>
                                                  <option value="10">10</option>

                                            </select>   
                                            </td>
                                            <td class="text-center" class="text-center" style="border-color:yellow;color:white;">
                                                   <select  style="background-color: #222222; border: none; name="q5" >
                                                 <option value="0">0</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>
                                                  <option value="9">9</option>
                                                  <option value="10">10</option>

                                            </select>   
                                            </td>
                                            <td class="text-center" class="text-center" style="border-color:yellow;">
                                                <button type="submit"  class="btn btn-primary btn-xs" >submit</button>
                                            </td>

                                           </form> ' 

                                            ;
                             }

                    }

在sub.php中我有:

<?php


include ("conn.php") ; 
session_start();


$selectOption = $_POST["q1"];




?>

为了更好地理解我也把图像放在那里 enter image description here

2 个答案:

答案 0 :(得分:1)

您的select标记中的style=""属性没有结束引号:

<select  style="background-color: #222222; border: none; name="q1">

因此该字段未命名为q1,请按以下方式修复:

<select  style="background-color: #222222; border: none;" name="q1">

您的其他问题也一样。

答案 1 :(得分:-1)

您可能需要尝试:

if(!empty $_POST["q1"])
{
    $selectOption = $_POST["q1"];
}

测试现有变量以确保不会出现索引错误。 希望它有所帮助!