Jquery 如何在db中使用wordpress ajax存储表单数据
我试图使用WordPress默认ajax保存表单数据,但它返回200,但不保存在数据库中 嗯,我尝试了所有方法,但是我的表单没有存储表单数据,但是我成功地使用控制台日志获取了一个 我试图使用wordpress默认ajax添加表单细节,以便在管理端创建表单。对于ajax,我创建了js文件,并作为管理员和函数包含在php文件中,用于插入添加到php文件中的数据 现在一切都正常了,我的页面正在使用ajex提交并打印表单数据,并在控制台中获取所有表单数据。这也没问题 我的ajax正在加载,但无法将数据保存到数据库中。 下面是一些代码 PHP代码Jquery 如何在db中使用wordpress ajax存储表单数据,jquery,wordpress,Jquery,Wordpress,我试图使用WordPress默认ajax保存表单数据,但它返回200,但不保存在数据库中 嗯,我尝试了所有方法,但是我的表单没有存储表单数据,但是我成功地使用控制台日志获取了一个 我试图使用wordpress默认ajax添加表单细节,以便在管理端创建表单。对于ajax,我创建了js文件,并作为管理员和函数包含在php文件中,用于插入添加到php文件中的数据 现在一切都正常了,我的页面正在使用ajex提交并打印表单数据,并在控制台中获取所有表单数据。这也没问题 我的ajax正在加载,但无法将数据保
因此,请帮助我,我是wordpress ajax新手,无法解决此问题您需要在页面上附加html,要做到这一点,您需要使用ajax调用的success函数,该函数将ajax调用的结果作为参数在本例中命名为html,我使用append将响应添加到页面主体标记
success: function(html) {
$('body').append(html);//change the selector to your desired element
}
您编写了错误的插入查询 替换此项:
$qry="insert user_data values(null,'$fname','$lname','$email','$phn','$adr')";
用这个
$qry="insert into user_data values('$fname','$lname','$email','$phn','$adr')";
或者只需使用wordpress标准插入:
$wpdb->insert(
'user_data',
array(
'column1' => 'value1',
'column2' => 123
)
);
---------
编辑:下面是正确的方法
表格:
<form action="" 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>
你们说的ajex是什么?谢谢你们工作得很好,而且我的btnsave并没有设置,这就是为什么表格并没有提交。很高兴!这对你有帮助。看看我最新的答案。这是使用ajax的正确方法。
$wpdb->insert(
'user_data',
array(
'column1' => 'value1',
'column2' => 123
)
);
<form action="" 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>
<script>
jQuery('form#form').on('submit', function(e){
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();
// calling ajax
$.ajax({
type: 'POST',
dataType: 'json',
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: {
'action' : 'add_new_user',
'fname': fname,
'lname': lname,
'eml': eml,
'phn': phn,
'adr': adr,
},
success: function(data){
if (data.res == true){
alert(data.message); // success message
}else{
alert(data.message); // fail
}
}
});
});
</script>
add_action( 'wp_ajax_nopriv_add_new_user', 'add_new_user' );
add_action( 'wp_ajax_add_new_user', 'add_new_user' );
function add_new_user(){
global $wpdb;
$fname = sanitize_text_field($_POST["fname"]);
$lname = sanitize_text_field($_POST["lname"]);
$email = sanitize_text_field($_POST["eml"]);
$phn = intval($_POST["phn"]);
$adr = sanitize_text_field($_POST["adr"]);
$tableName = 'user_data';
$insert_row = $wpdb->insert(
$tableName,
array(
'fname' => $fname,
'lname' => $lname,
'email' => $email,
'phone' => $phn,
'address' => $adr,
)
);
// if row inserted in table
if($insert_row){
echo json_encode(array('res'=>true, 'message'=>__('New row has been inserted.')));
}else{
echo json_encode(array('res'=>false, 'message'=>__('Something went wrong. Please try again later.')));
}
wp_die();
}