我想运行insert.php查询,如果"addUser"提交了按钮名,我不知道如何使用AJAX将addUser名称参数传递给insert.php文件,检查是否提交了按钮。如果删除insert.php文件中的 if语句,这是将用户插入数据库,但如果直接访问insert.php,则在表中插入空记录,如果直接访问insert.php,则希望防止在表中输入空记录。
index.html
<form method="post" id="addForm">
Username :<input type="text" name="username" id="userName" />
Passkey :<input type="password" name="passkey" id="passKey"/>
<br/>
<input type="submit" name="addUser" id="submitBtn" value="Inser New User"/>
</form>
<script>
$("#addForm").submit(function(e){
let userNameZ = $("#userName").val();
let passKeyZ = $("#passKey").val();
$.ajax({
url:'insert.php',
type:'POST',
data: {userName:userNameZ,passKey:passKeyZ},
success: function(resp) {
if(resp == "inserted") {
$("#addForm").trigger("reset");
alert("New user inserted");
} else {
alert("Something went wrong");
}
}
});
});
</script>insert.php
<?php
$conn = new PDO("mysql:host=localhost;dbname=test", "root", "");
if(isset($_POST['addUser'])){
$userName = trim($_POST['userName']);
$passKey = trim($_POST['passKey']);
$query = "INSERT INTO users (username,passkey) VALUES (:userName,:passKey)";
$stmt = $conn->prepare($query);
$stmt->execute(array(':userName'=>$userName, ':passKey'=>$passKey));
if($stmt) {
echo "inserted";
} else {
echo "not inserted";
}
}
?>发布于 2018-06-13 05:36:52
将此if(isset($_POST['addUser'])){更改为if(isset($_POST['userName']) && isset($_POST['passKey'])){
或者在ajax中,更改
data: {userName:userNameZ,passKey:passKeyZ,addUser:1}, 通知: ,addUser:1
添加对您的评论的答复
如果我有超过10个值要提交呢?
。
您可以使用$("#addForm").serialize()并直接传递给数据。就像data: $("#addForm").serialize(),
https://stackoverflow.com/questions/50829667
复制相似问题