PHP извлекает данные по кнопке

#php #html #mysql

Вопрос:

Я создаю систему с использованием PHP. В этой системе также существуют запросы к базе данных. Эти запросы зависят от ответа на кнопки. В то же время эти запросы зависят от данных, которые будут поступать с кнопок. Моя проблема в том, что у меня есть 2 кнопки, одна для редактирования, другая для удаления, когда я нажимаю кнопку редактирования, данные с кнопки верны. Но когда я нажимаю кнопку удалить, данные внутри пусты. Но самое интересное, что я могу видеть, нажал ли я кнопку удаления с помощью функции isset, но я не вижу данных. Я использую один и тот же материал на обоих, но я не смог решить проблему. И я использую ту же логику в других ресурсах страниц, там нет никаких проблем.

Часть отправителя =>

 foreach($personellist as $person){ $xasr=$person->Animal_ID;    ?>
             
       <tr>
       <tbody>
                <td><?= $person->Animal_ID?> </td>
                <td><?= $person->name ?></td>
                <td><?= $person->age ?></td>
                <td><?= $person->kind ?></td>
                <td><?= $person->genus ?></td>
                <td><?= $person->vaccinations_made ?></td>
                <td><?= $person->CageID ?></td>
                  <td><button  type="submit" name="giden"  value="<?= htmlspecialchars($person->Animal_ID) ?>" class="btn btn-primary">Edit</button> 
                  <button  type="submit" name="stack"  value="<?= htmlspecialchars($person->Animal_ID) ?>" class="btn btn-primary">Delete</button> </td>
                  </tbody>          
       </tr>
       
                 
             <?php } 
 

Часть приемника = >

  $gelen1=$_POST["giden"];
 $gelen2=$_POST["stack"];
if(isset($_POST["giden"])){
    $gelen1=$_POST["giden"];
    $post=$db->prepare("SELECT * FROM animals where Animal_ID=:id");
       $post->execute(array(
         'id'=> $gelen1
       ));
       $ayarcekpost=$post->fetch(PDO::FETCH_ASSOC);
  }
  
     
     if(isset($_POST['stack'])){
      $gelen2=$_POST["stack"];
      $post=$db->prepare("SELECT * FROM animals where Animal_ID=:id");
      $post->execute(array(
        'id'=> $gelen2
      ));
      $ayarcekpost=$post->fetch(PDO::FETCH_ASSOC);

      $sex=$_POST["delete"];
    
      $sth4 = $db->prepare("SELECT * FROM cages where CageID='".$ayarcekpost["CageID"]."'");
      $sth4->execute();
      $result = $sth4->fetch(PDO::FETCH_ASSOC);
      $count=$result["count_of_animals"];
      $count=$count-1;
      $sex=$result["count_of_animals"];
      $sth2 = $db->prepare("UPDATE cages
      SET count_of_animals=:coa
      WHERE CageID=:cid ");
        $sth2->execute(array(
          'coa' => $count,
          'cid' => $ayarcekpost["CageID"]

        ));
        echo $result["count_of_animals"];
        if($sth2){
        header("Location:../production/hayvan-ayarlar.php?durum='".$result["count_of_animals"]."'");
         }
         else{
        header("Location:../production/hayvan-ayarlar.php?durum=no");
         }
      /*$cc=$db->prepare("DELETE FROM animals
      WHERE 
        Animal_ID = :id");
         $cc->execute(array(
         'id'=> $gelen
         ));*/
       
        
         
         
      }
 

Комментарии:

1. Вы должны написать оба isset как if..else, если вместо 2, если оператор.

2. «Но когда я нажимаю кнопку удалить, данные внутри пусты» — какие данные? Пожалуйста, поделитесь своими точными усилиями по отладке.