Редактирование просто не работает. Уже все перепробовал. Все что можно менял, крутил, вертел. Не понимаю почему не изменяет данные. Есть похожая функция, но она берет данные из сессии при выводе на страницу и прекрасно работает и редактирует. Почему не работает эта не понимаю. Данные подтягиваются из таблицы корректно и id все совпадают, но при нажатии на кнопку сохранить обновляет страницу и выбивает кучу ошибок (все приложу ниже)
Обработчик:
$errMsg4 = '';
$id4 = '';
$id_user4 = '';
$status4 = '';
$categorits4 = '';
$power4 = '';
$brand4 = '';
if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['edit_id'])){
$post4 = selectOne('kasko', ['id' => $_GET['edit_id']]);
$id4 = $post4['id'];
$id_user4 = $post4['id_user'];
$categorits4 = $post4['categorits'];
$power4 = $post4['power'];
$brand4 = $post4['brand'];
$status4 = $post4['status'];
}
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_application'])){
$id4 = ($_POST['id']);
$id_user4 = trim($_POST['id_user']);
$categorits4 = trim($_POST['cat']);
$power4 = trim($_POST['pow']);
$brand4 = trim($_POST['mark']);
$status4 = trim($_POST['status']);
if($categorits4 === '' || $power4 === '' || $brand4 === ''){
array_push($errMsg4, "Не все поля заполнены!");
}else{
$post4 = [
'id' => $id4,
'id_user' => $id_user4,
'categorits' => $categorits4,
'power' => $power4,
'brand' => $brand4,
'status' => $status4
];
$post4 = update('kasko', $id4, $post4);
header('location: ' . BASE_URL . 'admin/kasko/index.php');
}
}
Форма:
<div class="posts col-9">
<div class="row title-table">
<h2>Заявка на получение КАСКО</h2>
<div class="container single1_form">
<form action="kasko.php" method="post" class="row justify-content-center">
<input type="" name="id" value="<?=$id4; ?>">
<input type="" name="id_user" value="<?=$id_user4; ?>">
<div class="row justify-content-center">
<div class="col-6">
<label for="exampleFormControlInput1" class="form-label">Категория ТС</label>
<input name="cat" value="<?=$categorits4; ?>" type="text" class="form-control" >
</div>
<div class="col-6">
<label for="exampleFormControlInput1" class="form-label">Мощность двигателя (л.с.)</label>
<input name="pow" value="<?=$power4; ?>" type="text" class="form-control" >
</div>
</div>
<div class="row justify-content-center">
<div class="col-4">
<label for="exampleFormControlInput1" class="form-label">Марка</label>
<input name="mark" value="<?=$brand4; ?>" type="text" class="form-control" >
</div>
<div class="col-12">
<label for="exampleFormControlInput1" class="form-label">Статус заявки</label>
<select class="form-select" name="status" id="number-select">
<option value="0">Не проверено</option>
<option value="1">Принято</option>
<option value="2">Отклонено</option>
</select>
</div>
Кнопка:
<button type="submit" class="btn btn-big contact-btn" name="edit_application" style="margin-right: 20px">Сохранить</button>
Ошибки:
Есть которые вылетают постоянно по типу:
Notice: Undefined index: cat in D:\Ampps\www\avtostrah\app\controllers\users.php on line 320
И такая ошибка на каждое поле формы в куске функции
$categorits4 = trim($_POST['cat']);
Есть еще 2 ошибки которые вылетают только при одном условии: если в коде формы вывод написать не так:
value="<?=$categorits4; ?>"
, а так:
value="<?=$post4['categorits']; ?>"
Сами ошибки:
Warning: Illegal string offset 'categorits' in D:\Ampps\www\avtostrah\admin\kasko\kasko.php on line 41
Notice: Uninitialized string offset: 0 in D:\Ampps\www\avtostrah\admin\kasko\kasko.php on line 41