I have set up my code to pass formdata via Ajax to my php file. My code works until I actually select an image and then I get a parsing error in my php file. I get an undefined index error. I have a form named "AddItemForm". My image input line looks like this:
<input type="file" id="_ni_image_in" onchange="readURL(this);" name="ni_image" accept="image/png, image/jpeg">
My javascript/ajax code looks like this which gets called when submit button is selected on form:
function AddItem(){
var form = document.forms["AddItemForm"];
var name = document.forms["AddItemForm"]["ni_name"].value;
var tag = document.forms["AddItemForm"]["ni_tag"].value;
var description = document.forms["AddItemForm"]["ni_description"].value;
var weight = document.forms["AddItemForm"]["ni_weight"].value;
var date = document.forms["AddItemForm"]["ni__date"].value;
var color = document.forms["AddItemForm"]["ni_color"].value;
var itag2 = document.forms["AddItemForm"]["ni_tag2"].value;
var itag3 = document.forms["addcowform"]["ni_tag3"].value;
var useremail= "<?php echo $_SESSION['UserEmail']; ?>";
var itemdata = new FormData();
var filedata = document.getElementById("_nc_image_in").files[0];
itemdata.append('Item_Image', filedata);
itemdata.append('Name', name);
itemdata.append('Tag_Num', tag);
itemdata.append('Description', description);
itemdata.append('Weight', weight);
itemdata.append('Date', date);
itemdata.append('Color', color);
itemdata.append('Tag_Num2', itag2);
itemdata.append('Tag_Num3', itag3);
itemdata.append('User_Email', useremail);
var isValid = false;
$.ajax({
type: "POST",
url: "/AddNewItem.php",
data: itemdata,
processData: false,
contentType: false,
success: function(resp){
console.log(resp);
if(resp.reply == "Success")
{
isValid = true;
form.submit();
}
else
{
isValid = false;
}
},
error: function(data, status){
console.log(data, status);
alert("error")
}
}); //end Ajax
console.log(isValid);
return isValid;
};
In my php file, I am retrieving image like this:
$itemmage = $_REQUEST["Item_Image"];
It is working if I don't select an image, so something is wrong with how I am getting my image or retrieving it. Please help.