Настраиваю добавление записи с картинкой и без нее, но php не воспринимает первый if (без картинки) и сразу переходит на elseif. Где моя ошибка?
if (isset($data['add']) && empty($_FILES['image'])) {
print_r($_FILES);
if (empty($data['title'])) {
$errors['title'] = 'Придумайте заголовок статьи';
} elseif (empty($data['description'])) {
$errors['description'] = 'Придумайте кратное описание для статьи';
} elseif (empty($data['text'])) {
$errors['text'] = 'Напишите текст статьи';
}
if (empty($errors)) {
$sql = "INSERT INTO posts (title, description, text, date, author_id) VALUES (:title, :description, :text, NOW(), :author_id)";
$result = $db->prepare($sql, $values);
if ($result) {
header("Location: ../index.php");
}
}
} elseif (isset($data['add']) && !empty($_FILES)) {
$allowedTypes = ['image/jpg', 'image/png', 'image/jpeg'];
$type = explode('/', $_FILES['image']['type']);
$fileName = 'img\\' . uniqid() . '.' . $type[1];
$path = 'D:\OP\OSPanel\domains\bot\\';
if (!in_array($_FILES['image']['type'], $allowedTypes)) {
$errors['image'] = 'Недопустимый тип файла';
} else {
if (empty($data['title'])) {
$errors['title'] = 'Придумайте заголовок статьи';
} elseif (empty($data['description'])) {
$errors['description'] = 'Придумайте кратное описание для статьи';
} elseif (empty($data['text'])) {
$errors['text'] = 'Напишите текст статьи';
}
if (empty($errors)) {
$values[4] = $fileName;
$sql = "INSERT INTO posts (title, description, text, date, author_id, image) VALUES (:title, :description, :text, NOW(), :author_id , :image)";
$result = $db->prepare($sql, $values);
if ($result) {
move_uploaded_file($_FILES['image']['tmp_name'], $path . $fileName);
header("Location: ../index.php");
}
}
}
}