当有许多提交按钮时,如何知道哪个提交按钮

时间:2015-11-17 08:37:36

标签: php mysql

while($row = mysqli_fetch_assoc($result))
{
    echo "<tr>";
    echo "<form action='./form_page.php' method='post'>";
    echo "<td style='width:9%'>" . $row['studentID']."</td>";
    echo "<td style='width:9%'><input type='submit' name='Prove' value='Approve' /></td>";
    echo "<td style='width:9%'><input type='submit' name='$count' value='Delete' /></td>";
    echo "</form>";
    echo "</tr>";
}

我想得到具体的student id,但是当我到达这里时,我不知道如何才能得到它。如果我将$row['studentID']用于按钮名称,则无法使用POST['varname'],因为当我选择的名称不同时名称会有所不同。

3 个答案:

答案 0 :(得分:1)

提交按钮由其名称标识。

例如如果有3个forms,其中3个submit按钮名为Accept1Accept2Accept3

当用户点击Accept1提交表单时,POST变量将为$_POST['Accept1']。同样分别为$_POST['Accept2']$_POST['Accept3']

您还可以打印POST变量以获得清晰的想法,即print_r($_POST)

答案 1 :(得分:1)

  

如果我为按钮名称添加$ row ['studentID'],我就不能使用POST ['varname']

您可以遍历$_POST中的所有值,看看它们是否与学生ID的模式匹配。

或者,您可以使用按钮元素(这将允许您显示文本和彼此不匹配的值):

<button name="approve" 
        value="<?php echo htmlspecialchars($row['studentID'])>
        Approve
</button>

然后只测试$_POST['approve']

答案 2 :(得分:0)

试试这样..

    while($row = mysqli_fetch_assoc($result))
    {
       echo "<tr><form action='./form_page.php' method='post'>";
       echo "<td style='width:9%'>" . $row['studentID']."</td>";
       echo "<input type='hidden' name='studentID' value='".$row['studentID']."'>";
       echo "<td style='width:9%'><input type='submit' name='Prove' value='Approve'>;
       echo "<td style='width:9%'><input type='submit' name='$count' value='Delete'>
       </td></form></tr>";
}

通过使用隐藏的输入类型,您可以在提交来自时获取学生ID。希望这会有所帮助