I am trying to save the form data using WordPress default ajax but it returns 200 but does not saving in database.
Well, i tried everything but my form does not store form data but successfully i a able to get using console log.
I am trying to add the form detail using wordpress default ajax so that i created a form at admin side. For ajax i created js file and included as admin and function for inserting data added in php file.
Now everything works fine, my page is submitting with ajex and also printed the form data , and getting all form data in console.That is also ok.
My ajax is loading but not able to save the data in database . here are some code below.
PHP code
function Adduser()
{
if(isset($_POST["btnsave"]))
{
global $wpdb;
$fname=$_POST["fname"];
$lname=$_POST["lname"];
$email=$_POST["eml"];
$phn=$_POST["phn"];
$adr=$_POST["adr"];
$qry="insert user_data values(null,'$fname','$lname','$email','$phn','$adr')";
$result=$wpdb->query($qry);
if($result==true)
{
echo "<script> alert('Data Inserted'); </script>";
}
else
{
echo "<script> alert('Enter valid data Please '); </script>";
}
}
?>
<form action="?page=user-data" class="form" id="form" method="post" >
<h1>Add Detail</h1>
<label for="">Name</label>
<input type="text" placeholder="First Name" name="fname" id="fname">
<label for="">Last Name</label>
<input type="text" placeholder="Last Name" name="lname" id="lname">
<label for="">Email</label>
<input type="text" placeholder="Email" name="eml" id="eml">
<label for="">Phone No</label>
<input type="text" placeholder="Phone" name="phn" id="phn">
<label for="">Address</label>
<textarea name="adr" id="adr" cols="30" rows="10" id="adr"></textarea>
<input type="submit" value="SignUp" name="btnsave" id="btnsave">
</form>
<?php
}
add_action('wp_ajax_Adduser', 'Adduser');
add_action( 'wp_ajax_nopriv_Adduser', 'Adduser' );
Js code
jQuery('.form').on('submit', function (e) {
var ajaxurl = "/genwp/wp-admin/admin-ajax.php";
e.preventDefault();
var fname = jQuery('#fname').val();
var lname = jQuery('#lname').val();
var eml = jQuery('#eml').val();
var phn = jQuery('#phn').val();
var adr = jQuery('#adr').val();
console.log(fname);
console.log(lname);
console.log(eml);
console.log(phn);
console.log(adr);
jQuery.ajax({
type: 'post',
url: ajaxurl,
data: {
action : 'Adduser', // wp_ajax_*, wp_ajax_nopriv_*
'fname': fname,
'lname': lname,
'eml': eml,
'phn': phn,
'adr': adr,
},
success: function () {
alert('form was submitted');
}
});
});
});
so please help me, i am new to wordpress ajax, and can't solve this problem