данные не извлекаются через formdata

Я пытаюсь сохранить изображение с помощью ajax. И передавать данные через Formdata (), но в php-файле я не могу получить данные или имя изображения, пожалуйста, помогите мне вот мой код

<form name='signup' id='signup'> <div class="row"> <!--<form id="uploadimage" action="" method="post" enctype="multipart/form-data">--> <div id="selectImage"> <label>Select Image</label> <div id="image_preview"> <img id="previewing" src="uploaded_files/259700.png" height="150" width="150" /> </div> <input type="file" name="file" id="file" required /> <!--<input type="submit" value="Upload" class="submit" />--> </div> <!--</form>--> </div> <div class='row'> <p> <label for='username'>First name</label> <input type='text' name='firstname' id='firstname' value='' placeholder='Enter First name' /> </p> </div> <div class='row'> <p> <label for='lastname'>Last name</label> <input type='text' name='lastname' id='lastname' value='' placeholder='Enter Last name' /> </p> </div> <div class='row'> <p> <label for='email'>Email</label> <input type='text' name='email' id='email' value='' placeholder='Enter Email' /> </p> </div> <div class='row'> <p> <label for='phno'>Phno.</label> <input type='text' name='phno' id='phno' maxlength="10" value='' placeholder='Enter ph no' /> </p> </div> <!--<input type="hidden" name="actionfunction" value="saveData" />--> <input type="hidden" name="actionfunction" value="saveData" /> <div class='row'> <input type='button' id='formsubmit' class='submit' value='Submit' /> <!--<input type='submit' id='formsubmit' class='submit' value='Submit' />--> </div> </form> 

вот мой код сценария ajax:

 $("#signup").on('submit', (function() { var fname = $("#firstname"); var lname = $("#lastname"); var email = $("#email"); var phno = $("#phno"); if (validateform(fname, lname, email, phno)) { var formdata = new FormData(this); $.ajax({ url: "DbManipute.php", type: "POST", data: formdata, processdata: false, cache: false, contentType: false, success: function(response) { //alert(response); if (response == 'added') { $("#show_user").trigger("click"); getusers(); $("#msg").html("user added"); } }, }); } }); 

И вот мой код «DbManipute.php»:

 function saveData($data,$con){ $imgfile=$_FILES['file']['name']; $fname = $data['firstname']; $lname = $data['lastname']; $email = $data['email']; $phno = $data['phno']; //$fname = $_POST['firstname']; //$lname = $_POST['lastname']; //$email = $_POST['email']; //$phno = $_POST['phno']; $sql = "insert into tbl_employees(emp_name,emp_lname,emp_email,emp_phno,emp_pic) values('$fname','$lname','$email','$phno','$imgfile')"; if($con->query($sql)){ echo "added"; } else { echo "error"; } } 

я не получил никаких ошибок, и данные также не были вставлены. когда я удаляю загрузку изображения и использую метод serialize, данные сохраняются успешно, но в файле сериализации метод имя файла изображения не может получить, пожалуйста, помогите мне в этом.