Есть страница с формой, и загрузкой файла. По идее сам файл должен загружаться на сервер, а его имя и данные из формы в mysql, и все, соответственно, с помощью ajax. Помогите разобраться, как добавить имя файла в БД и данные из формы в БД без перезагрузки страницы?
<script>
var files;
$('input[type=file]').change(function(){
files = this.files;
});
$('.submit.button').click(function( event ){
event.stopPropagation();
event.preventDefault();
var data = new FormData();
$.each( files, function( key, value ){
data.append( key, value );
});
$.ajax({
url: './submit.php?uploadfiles',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function( respond, textStatus, jqXHR ){
if( typeof respond.error === 'undefined' ){
var files_path = respond.files;
var html = '';
$.each( files_path, function( key, val ){ html += val +'<br>'; } )
$('.ajax-respond').html( html );
}
else{
console.log('ОШИБКИ ОТВЕТА сервера: ' + respond.error );
}
},
error: function( jqXHR, textStatus, errorThrown ){
console.log('ОШИБКИ AJAX запроса: ' + textStatus );
}
});
});
</script>
2. Сама форма:
<form id="myForm" action="userinfo.php" method="post">
<p>Фамилия: <input type="text" name="surname" placeholder="Фамилия" /><br /></p>
<p>Имя : <input type="text" name="name" placeholder="Имя" /><br /></p>
<p>Отчество : <input type="text" name="secondname" placeholder="Отчество" /><br /></p>
<input type="file" accept=".txt,image/*">
<a href="#" class="submit button" id="imgs">Загрузить файлы</a>
<div class="ajax-respond"></div>
<button class="button" id="sub">Save</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
submit.php
<?php
$data = array();
if( isset( $_GET['uploadfiles'] ) ){
$error = false;
$files = array();
$uploaddir = './uploads/';
if( ! is_dir( $uploaddir ) ) mkdir( $uploaddir, 0777 );
foreach( $_FILES as $file ){
if( move_uploaded_file( $file['tmp_name'], $uploaddir .
basename($file['name']) ) ){
$files[] = realpath( $uploaddir . $file['name'] );
}
else{
$error = true;
}
}
$data = $error ? array('error' => 'Ошибка загрузки файлов.') :
array('files' => $files );
echo json_encode( $data );
}
userinfo.php
<?php
include_once('u.php');
if (mysqli_connect_errno()) {
printf("Не удалось подключиться", mysqli_connect_error());
exit();
}
$surname = $_POST['surname'];
$name = $_POST['name'];
$secondname = $_POST['secondname'];
$imgs = $_POST['imgs'];
if($link->query("INSERT INTO test4 VALUES('$surname', '$name', '$secondname', '$imgs')")) {
printf("Successfully Inserted");
}
else
echo "Error: ", mysqli_error($link);
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На сервер отправляю запрос с JWT-ключем в заголовке, в ответ сервер отправляет новую страницуВопрос, как изменить текущую страницу на новую...
Пытаюсь сделать Google Custom SearchПервый проходит нормально, но вот при попытке сделать пагинацию и переходить по другим страницам, не выдает результаты...
Использую плагин gulp-watch Столкнулся с тем, что при удалении файла из рабочей директории приходиться так же удалять его и из папки сборкиРешил...
Добрый день! Есть скрипт выдвижной панелиВ файле стиля есть элемент (подложка), который в html код не добавлен