Нужно загрузить в БД картинку и 2 записи из формы. Отправляю данные асинхронно с помощью AJAX, в общем файл загружается в нужную мне директорию на сервере, но запись в БД не создается
Код формы
<form id="myform" action="form1.php" method="POST" enctype=multipart/form-data>
<div class="adminEditContent">
<label for="image" class="imageButton">Превью</label>
<input style="opacity: 0; z-index: -1;" type="file" name="image" id="image" accept=".gif, .jpg, .png, .svg" multiple="multiple">
<input class="nameInput" name="nameInput" type="text" placeholder="Заголовок новини">
<div class="btnsPanel">
<div class="btnAddPhoto"><img style="width: 1.5vw;" src="img/picture.svg" alt=""></div>
<div class="btnAddPhoto"><img style="width: 1.5vw;" src="img/videoActive.svg" alt=""></div>
</div>
<textarea class="newsText" name="newsText" placeholder="Текст новини" cols="30" rows="10"></textarea>
<input type="submit" name="sendButton" value="Опублікувати" class="sendButton">
</div>
</form>
Код AJAX
$(document).ready(function(e){
$("#myform").on('submit',(function(e){
var form_data = new FormData(this);
e.preventDefault();
$.ajax({
url:"form1.php",
type:"POST",
data: form_data,
contentType:false,
cache:false,
processData:false,
beforeSend:function()
{
//$("#preview").fadeOut();
$("#err").fadeOut();
},
success:function(data)
{
if(data=='invalid')
{
// неверный формат файла.
$("#err").html("Invalid File !").fadeIn();
}
else
{
// просмотрзагруженногофайла.
$("#preview").html(data).fadeIn();
$("#myform")[0].reset();
}
},
error:function(e)
{
$("#err").html(e).fadeIn();
}
});
}));
});
Файл form1.php
<?php
require '../db.php';
$data = $_POST;
header('Content-Type: application/json; charset=utf-8');
if ($data) {
$valid_extensions=array('jpeg','jpg','png','gif','bmp','pdf','doc','ppt');// valid extensions
$path='uploads/';// upload directory
if(!empty($data['name'])||!empty($data['email'])||$_FILES['image'])
{
$img=$_FILES['image']['name'];
$tmp=$_FILES['image']['tmp_name'];
// получаемрасширениезагруженногофайла
$ext=strtolower(pathinfo($img,PATHINFO_EXTENSION));
// можем загрузить и изображение с помощью функции rand
$final_image=rand(1000,1000000).$img;
// проверяемформат
if(in_array($ext,$valid_extensions))
{
$path=$path.strtolower($final_image);
if(move_uploaded_file($tmp,$path))
{
//включаем файл конфигурации базы данных
$news = R::dispense('news');
$news->news_title = $data['nameInput'];
$news->news_preview = $path;
$news->news_date = date('Y-m-d');
$news->news_text = $data['newsText'];
R::store($news);
//выводим $insert?'ok':'err';
}
}
else
{
echo 'invalid';
}
}
}