Данные исчезают после редактирования [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Данные исчезают после редактирования [закрыто]

Сообщение Anonymous »

Мой список сертификатов работает нормально, за исключением двух типов сертификатов. У меня проблемы с крещением и хорошей моралью. Я могу без проблем добавить все типы сертификатов. Модальное окно редактирования также работает нормально и правильно отображает все данные формы. Но когда я пытаюсь внести некоторые изменения в любое свидетельство о Крещении, все данные исчезают после нажатия кнопки «Сохранить». то же самое и с хорошей моралью, но после сохранения исчезает только полное имя. Кажется, я не могу найти ошибку, потому что использовал одну и ту же логику для всех типов сертификатов. Вот моя логика обновления и модальное окно обновления:
// EDIT EXISTING CERTIFICATE
if (isset($_POST['edit_certificate_id'])) {
$id = $_POST['edit_certificate_id'];
$type = $_POST['type'] ?? '';
$data = $_POST['certificate_data'] ?? [];

switch ($type) {
case 'baptism':
$data = [
'full_name' => $data['full_name'] ?? '',
'place_of_birth' => $data['place_of_birth'] ?? '',
'birth_date' => $data['birth_date'] ?? '',
'father' => $data['father'] ?? '',
'mother' => $data['mother'] ?? '',
'baptism_date' => $data['baptism_date'] ?? '',
'priest' => $data['priest'] ?? '',
'sponsor_1' => $data['sponsor_1'] ?? '',
'sponsor_2' => $data['sponsor_2'] ?? '',
'register_no' => $data['register_no'] ?? '',
'page' => $data['page'] ?? '',
'line' => $data['line'] ?? ''
];
break;

case 'good_moral':
$data = [
'full_name' => $data['full_name'] ?? '',
'age' => $data['age'] ?? '',
'barangay' => $data['barangay'] ?? '',
'day' => $data['day'] ?? '',
'month' => $data['month'] ?? '',
'year' => $data['year'] ?? ''
];
break;

case 'authorization':
$data = [
'child_name' => $data['child_name'] ?? '',
'origin' => $data['origin'] ?? '',
'date' => $data['date'] ?? ''
];
break;

case 'certification':
$data = [
'full_name' => $data['full_name'] ?? '',
'place_of_birth' => $data['place_of_birth'] ?? '',
'birth_date' => $data['birth_date'] ?? '',
'father' => $data['father'] ?? '',
'mother' => $data['mother'] ?? '',
'requestor' => $data['requestor'] ?? '',
'purpose' => $data['purpose'] ?? ''
];
break;

case 'marriage':
$data = [
'groom_name' => $data['groom_name'] ?? '',
'groom_age' => $data['groom_age'] ?? '',
'groom_father' => $data['groom_father'] ?? '',
'groom_mother' => $data['groom_mother'] ?? '',
'bride_name' => $data['bride_name'] ?? '',
'bride_age' => $data['bride_age'] ?? '',
'bride_father' => $data['bride_father'] ?? '',
'bride_mother' => $data['bride_mother'] ?? '',
'marriage_date' => $data['marriage_date'] ?? '',
'priest' => $data['priest'] ?? '',
'sponsor_1' => $data['sponsor_1'] ?? '',
'sponsor_2' => $data['sponsor_2'] ?? '',
'book_no' => $data['book_no'] ?? '',
'page' => $data['page'] ?? '',
'line' => $data['line'] ?? ''
];
break;
}

switch ($type) {
case 'baptism':
case 'good_moral':
case 'certification':
$full_name = $data['full_name'] ?? '';
break;

case 'authorization':
$full_name = $data['child_name'] ?? '';
break;

case 'marriage':
$groom = $data['groom_name'] ?? '';
$bride = $data['bride_name'] ?? '';
$full_name = trim("$groom & $bride");
break;

default:
$full_name = '';
break;
}

$certificate_data = json_encode($data);

$stmt = $conn->prepare("
UPDATE certificates
SET full_name = ?, certificate_data = ?, updated_at = NOW()
WHERE id = ?
");
if ($stmt->execute([$full_name, $certificate_data, $id])) {
$_SESSION['flash'] = [
'type' => 'info',
'message' => 'Certificate successfully updated!'
];
header("Location: certificates_list.php");
exit;
} else {
print_r($stmt->errorInfo());
}
}










✏️ Edit Certificate



Certificate Type:

-- Select Type --
Baptism
Good Moral
Letter of Authorization
Certification
Marriage






Подробнее здесь: https://stackoverflow.com/questions/797 ... er-editing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»