I want to send all the data acquired from a html
form to the php
script using POST
method.
My HTML:
<form id="details" class="form">
Full name: <strong name="name_1">ABCDEF</strong><br><br>
ID No:<strong name="org_number_1">23</strong><br><br>
Mobile No:<strong name="ph_number_1">1234567890</strong><br><br>
E-mail: <strong name="email_1">abc@def.com</strong><br><br>
ID Card: <img src="profile.jpg" alt="preview" name="image" style="width: 100px; height: 100px;"><br><br>
<button id="go" onclick="submit()"type="button" value="submit">Submit</button>
</form>
My javascript:
function submit(){
var nme=document.getElementsByName("name_1")[0].innerHTML;
var id=document.getElementsByName("org_number_1")[0].innerHTML;
var phone=document.getElementsByName("ph_number_1")[0].innerHTML;
var email=document.getElementsByName("email_1")[0].innerHTML;
var img=document.getElementsByName("image")[0].src;
const dForm = document.getElementById('details');
dForm.addEventListener('submit', function(e) {
e.preventDefault();
const formData=new FormData();
formData.append('name', nme);
formData.append('email', email);
formData.append('ID No', id);
formData.append('Contact no', phone);
formData.append('image', img);
fetch("database_registration.php",{
method: 'post',
body: formData,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
}).then(function (response){
return response.text();
}).then(function (text){
console.log(text);
}).catch(function (error){
console.error(error);
})
});
}
My php:
<?php
$post_data=file_get_contents("php://input");
var_dump($_POST); //shows array(0) { }
print_r($_POST);//shows Array()
$data=json_decode($post_data);
echo $data; //shows a completely blank page
?>
Why is my $_POST
array empty?