У меня есть форма, которая имеет два разных типа входов. один тип = «файл», а другой тип = «текст».
Теперь я пытаюсь отправить эти входные данные в свою базу данных с помощью formdata () в jquery, но что бы я ни делал, я не могу отправить оба ввода.
<form class='form-group' id='first_banner_form' enctype='multipart/form-data'>
<label class='btn btn-warning btn-block textbutton'>
upload your image<input type='file' class='hidden'
name='banner_number_one' id='banner_number_one'/>
</label>
<br>
<input type='text' class='form-control' name='banner_number_one_addr' id='banner_number_one_addr'
placeholder='write your name' style='text-align:center'/>
<hr>
</form>
<br>
<hr>
<br>
<button class='btn btn-success btn-block textbutton' id='upload_a_banner'>Upload</button>
и это мой код jquery
$(document).on('click','#upload_a_banner',function(){
var banner_form = new FormData($('#first_banner_form')[0]);
$.ajax({
url:'phpScript/upload_new_banners.php',
method:'POST',
data:banner_form,
async: false,
cache: false,
contentType: false,
processData: false,
success:function(data)
{
if(data=='done')
{
alert('uploaded');
}elseif(data=='file is not set')
{ alert('database couldn\'t recieve all data');
}
else{
alert(data);
}
},error:function()
{
alert('error');
}
});
});
а это php код
if(isset($_FILES['banner_number_one']) && isset($_FILES['banner_number_one_addr']))
{
# the image
$fr_banner_name = $_FILES['banner_number_one']['name'];
$fr_banner_temp = $_FILES['banner_number_one']['tmp_name'];
#the link
$fr_link = $_FILES['banner_number_one_addr']['name'];
}else{
echo 'file is not set';
exit;
}
когда я просто пишу
if(isset($_FILES['banner_number_one']))
все работает, но когда я пишу
if(isset($_FILES['banner_number_one']) && isset($_FILES['banner_number_one_addr']))
Я получаю сообщение «файл не установлен». что мне делать?