首页 > 解决方案 > $_POST 输入未到达处理程序页面

问题描述

我有一个表单,它有一个名为 id 的隐藏输入,当它提交时它会转到处理程序页面并过滤其他表单并通过 switch 语句决定要做什么,这个表单应该通过处理程序调用一个类函数并发送id 到函数的参数,但 id 输入没有到达处理程序,我通过 echo $id 检查并没有任何显示,所以我确定 id 没有发送到函数参数,我可以在哪里出错没找到 我花了两个小时寻找它。

表格

function showPassengerRides($db)
{
    
    //fetching the data from database
    $row=$stmt->fetchAll();

   if($row)   
   { 
        
      foreach ($row as $stmt):?>
        
        <form action="rideHandler.php" method="POST" class="rides" >
         //echoing data from database
            
          <input type = "hidden" name = "id" value = "<?=$stmt['id'] ?>" />
           //i echoed here and it worked, so i'm sure the problem is not from the SQL statement 

          <button class="delete-button" name="formSubmit" value="delete">Delete</button>
                    
       </form>               
                   
                    
 <?php } 
     

处理程序页面

switch ($_POST['formSubmit']) {
    
case 'delete':

$id = $_POST['id'];
   //i echoed here but nothing showed up
    $obj = new databaseUpdate();
    $obj->deleteReservation($id, $db);
break;

}

标签: phphtml

解决方案


推荐阅读