Здравствуйте!
Я начинающий php-разработчик, в данный момент вызывает трудности задача с добавлением поста с файлом на сайт. Добавление просто текстового поста или добавления картинки отдельно трудностей не вызывает, но когда я попытался соединить эти два кода, он не заработал.
Вот код с добавлением отдельного файла:
$file_name = $_FILES['pic']['name'];
$file_path = 'img/'.$file_name;
if (move_uploaded_file($_FILES['pic']['tmp_name'], $file_path)) {
$query = mysqli_query($link, "INSERT INTO `pic` (`pic`) VALUES ('".$file_path."')");
echo "Успешно";
} else {
echo "Не вышло(";
}
Код с добавлением поста с файлом и текстом:
$title = $_POST['title'];
$tags = $_POST['tags'];
$text = $_POST['text'];
$file_name = $_FILES['pic']['name'];
$file_path = 'img/'.$file_name;
if (move_uploaded_file($_FILES['pic']['tmp_name'], $file_path)) {
if (isset($_POST['do_create'])) {
if ($title == '') {
echo "Введите название поста!";
} if ($tags == '') {
echo "Введите теги поста!";
} if ($text == '') {
echo "Введите текст поста!";
} else {
$title_query = mysqli_query($link, "SELECT `title` FROM `posts` WHERE `title` LIKE '".$title."'");
$text_query = mysqli_query($link, "SELECT `text` FROM `posts` WHERE `text` LIKE '".$text."'");
if (mysqli_num_rows($title_query) > 0) {
echo "Такой пост уже существует!";
} if (mysqli_num_rows($text_query) > 0) {
echo "Такой пост уже существует!";
} else {
$query = mysqli_query($link, "INSERT INTO `posts` (`title`, `tags`, `pic`, `text`) VALUES ('".$tite."', '".$tags."', '".$file_path."', '".$text."')");
echo "Пост успешно добавлен!";
}
}
}
}
UPD: Добавил вывод ошибок в начале, как мне подсказали: выводит undefined index 'title', 'tags', 'text' и 'pic'. Это пока я не ввёл данные в поля, это я понял. При вводе данных и отправке их по клику кнопки, он распознает текстовые поля, но pic так и не видит. То есть он не распознаёт прикреплённый файл... Не могу понять, в чём тут ошибка, ведь аналогичный скрипт я использовал в другом проекте (чуть проще: без tags и text), там всё работало отлично.
UPD2: Отличие этих двух БД состоит лишь в названии, и в том, что во втором случае у БД есть текстовые поля.
Вот структура таблицы:
id - int(11) AI
title - varchar(255)
tags - text
text - text
pic - text