为什么当我 post 一个表单元素时出现未定义索引错误?

why when I post a form element I get undefined index error?

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

   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"];




?>

为了更好地理解,我也把图片放在那里了

您可能需要尝试:

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

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

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

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

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

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

你的其他问题也一样。