My code is a form where it picks a file from the user, then send the data using jQuery to a PHP file where it gets the image content and displays it and in a success function: it alerts the data received from the PHP file. For example, the image received from the HTML page.
Actually, the code inserts the image into the database, but I plucked the code out and inserted a direct view of image in PHP file without inserting in the database because I wanted to make it short(database insertion code has no error: it inserts other variables provided with image and image stays blank)
Also am using my script on XAMPP localhost. So do not worry about that i am running it like file://... . All is that i can't figure out why the data aren't being passed to php file.
HTML:
<input style="border:none" type="file" id="photo" />  <br>
JavaScript:
$("#submit-form").click(function() {
  var formadata = {
    "photo": $("#photo").val(),
  };
  $.ajax({
    url: './enter-registration-form.php',
    data: formadata,
    cache: false,
    contentType: false,
    processData: false,
    method: 'POST',
    success: function(val) {
      if (val == "done") {
        alert("Data Accepted");
      } else {
        alert(val);
      }
    }
  });
});
PHP:
$i = $_FILES['photo']['name'];
//get the content of the image and then add slashes to it
$imagetmp=addslashes (file_get_contents($_FILES['photo']['tmp_name']));
echo '<img src="data:image/jpeg;base64,'.base64_encode($imagetmp).'" style="width:100px;height:autoborder:none">';
Now I am getting this error message:
Notice: Undefined index:
photoin /opt/lampp/htdocs/SSNC/exam/enter-registration-form.php on line 5Notice: Undefined index:
photoin /opt/lampp/htdocs/SSNC/exam/enter-registration-form.php on line 8Warning:
file_get_contents(): Filename cannot be empty in /opt/lampp/htdocs/SSNC/exam/enter-registration-form.php on line 8
I can't figure out why this error is thrown.
 
     
     
    