我试图用jquery向数据库添加数据。我的代码在这里,但它不起作用。
使用bootstrap表单,我尝试将输入数据发送到该页面中的特定页面(在这种情况下,adduser.php),我尝试将此值检查到数据库中确定没有相同的数据(我查看电子邮件地址) 你能帮帮我们吗?
<script>
$(document).ready(function(){
$('#adduser').click(function(){
var add_name = $('#add_name').val();
var add_surname = $('#add_surname').val();
var add_email = $('#add_email').val();
var add_password = $('#add_password').val();
if(add_name == '' || add_surname == '' || add_email == '' || add_password == '' ){
$('#add_user_error').html("<strong class='text-danger'>*** Please enter all details</strong>");
}else{
$.ajax({
url: "adduser.php",
method: "post",
data:{add_name:add_name,add_surname:add_surname,add_email:add_email,add_password:add_password},
success: function(data){
if (data == 1) {
$('#add_user_error').html("<strong class='text-danger'>This email have in database</strong>");
}else{
$('#add_user_error').html("<strong class='text-success'>Success</strong>");
}
}
}); return false;
}
});
});
</script>
<?php
include ('setup.php'); //Database connection dbc
if(isset($_POST['adduser'])){
$add_name = $_POST['add_name'];
$add_surname = $_POST['add_surname'];
$add_email = $_POST['add_email'];
$add_password = $_POST['password'];
$q = "SELECT * FROM users WHERE email = '$add_email'";
$r = mysqli_query($dbc, $q);
$adduser = mysqli_fetch_assoc($r);
if($adduser['email'] !== $add_email){
$q = "INSERT INTO users (name,surname,email,password) VALUES ('$add_name','$add_surname','$add_email','$add_password')";
$r = mysqli_query($dbc, $q);
}
}
?>
答案 0 :(得分:4)
也可能有任何其他错误,但我认为你需要从ajax发送adduser 。然后只有$ _POST ['adduser']才为真(现在它是假的,因为它没有设置)
用下面的行替换您的数据行并尝试
data:{add_name:add_name,add_surname:add_surname,add_email:add_email,add_password:add_password,adduser:1}
答案 1 :(得分:0)
在您的ajax代码中使用序列化方法传递表单数据
$.ajax({
url: "adduser.php",
method: "post",
data:$('#yourformid').serialize(),
/* your remaining code as it is */