#php #html
Вопрос:
у меня есть форма, в которой скрытый ввод называется id, при отправке он переходит на страницу обработчика, которая фильтрует другие формы и решает, что делать с помощью оператора switch, эта форма должна вызывать функцию класса через обработчик и отправлять идентификатор в параметр функции, но ввод идентификатора не доходит до обработчика, я проверил по echo $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;
}
Комментарии:
1. Попробуйте еще немного отладить: например, поместите
var_dump($_POST);
в первую строку файла обработчика и посмотрите, что на самом деле отправляется в него2. это показало мне следующее : массив (размер=2) ‘id’ => строка ’24’ (длина=2) ‘formSubmit’ =>> строка ‘удалить’ (длина=18), поэтому она дошла до обработчика, но я не могу понять, почему она не повторяется или не отправляется в функцию
3. Выполняет
switch
ли казнь? Вводит ли он команду «Удалитьcase
«? На множество вопросов вы можете ответить с помощью эха.