Добрый вечер. В очередной раз мучаюсь и не могу понять, что я не так настроил или сделал в форме или в PHP коде...
Я обрабтчик менял по нескольку раз, постоянно выдавал мне ошибку
{"result":"error","texterror":{"imgnews":"Произошла ошибка при загрузке картинки!"}}
PHP:
<?php
require_once ('../../config.php');
$query = mysqli_connect(HOST, USER, PASS, DB);
$date = strtotime(date('Y-m-d H.i.s'));
$author = 'Pavel_Garson';
$data = $_POST;
$errorContainer = array();
$arrayFields = array('imgnews' => $_FILES['imgnews']['name'], 'newstitle' => $data['newstitle'], 'newscreator' => $data['newscreator'], 'script_text' => $data['script_text']);
if (empty($_FILES['imgnews']['tmp_name'])) {
if (!empty($data['newstitle'])) {
$url = str2url($data['newstitle']);
if (!empty($data['newscreator'])) {
if (!empty($data['script_text'])) {
mysqli_query($query, "INSERT INTO `news` (date, author, title, url, site_text, script_text) VALUES ('{$date}', '{$author}', '{$data['newstitle']}', '{$url}', '{$data['newscreator']}', '{$data['script_text']}') ");
} else {
$errorContainer['script_text'] = 'Введите текст для версии скрипта!';
}
} else {
$errorContainer['newscreator'] = 'Введите текст для версии сайта!';
}
} else {
$errorContainer['newstitle'] = 'Введите название новости!';
}
} else {
if (move_uploaded_file($_FILES['imgnews']['tmp_name'], 'design/others/news/images/'.basename($_FILES['imgnews']['name']))) {
$filename = basename($_FILES['imgnews']['name']);
if (!empty($data['newstitle'])) {
$url = str2url($data['newstitle']);
if (!empty($data['newscreator'])) {
if (!empty($data['script_text'])) {
mysqli_query($query, "INSERT INTO `news` (date, author, attachment, title, url, site_text, script_text) VALUES ('{$date}', '{$author}', '{$filename}', '{$data['newstitle']}', '{$url}', '{$data['newscreator']}', '{$data['script_text']}') ");
} else {
$errorContainer['script_text'] = 'Введите текст для версии скрипта!';
}
} else {
$errorContainer['newscreator'] = 'Введите текст для версии сайта!';
}
} else {
$errorContainer['newstitle'] = 'Введите название новости!';
}
} else {
$errorContainer['imgnews'] = 'Произошла ошибка при загрузке картинки!';
}
}
if(empty($errorContainer))
{
echo json_encode(array('result' => 'success'));
}
else
{
echo json_encode(array('result' => 'error', 'texterror' => $errorContainer));
}
echo $data['imgnews'];
HTML:
<section class="my-5">
<form class="md-form" enctype="multipart/form-data" action="/engine/queryforms/postnews.php" method="post" id="NewsCreatorForm">
<div class="row">
<div class="col-lg-8">
<div class="file-path-wrapper mb-4">
<div class="file-upload-wrapper">
<input type="file" name="imgnews" id="imgnews" class="file-upload" data-max-file-size="2M" />
</div>
</div>
<div class="card mb-4 post-title-panel">
<div class="card-body">
<div class="md-form mt-1 mb-0">
<input type="text" class="form-control" name="newstitle" id="newstitle">
<label class="form-check-label" for="newstitle">Тема новости</label>
</div>
</div>
</div>
<div class="card mb-4">
<textarea name="newscreator" id="newscreator" rows="10" cols="80"></textarea>
</div>
<div class="card mb-4">
<div class="card-body">
<div class="md-form mb-0 mt-2">
<textarea type="text" class="md-textarea form-control" rows="3" name="script_text" id="script_text"></textarea>
<label class="form-check-label" for="script_text">Текст для скрипта</label>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card card-cascade narrower mb-5">
<div class="view view-cascade gradient-card-header ptadmin-color">
<h4 class="font-weight-500 mb-0">Информация</h4>
</div>
<div class="card-body card-body-cascade pt-3 pb-3 text-center">
<p><i class="fas fa-user mr-1" aria-hidden="true"></i> Автор: <strong>Pavel</strong></p>
<div class="text-center">
<button class="btn ptadmin-color white-text" type="submit" name="createnews">Опубликовать</button>
</div>
</div>
</div>
</div>
</div>
</form>
</section>
Заранее, спасибо!