我正在尝试实现一个最终连接到数据库并在其中创建条目的简单表单。在标签中,我正在调用php文件,它将把我连接到后端的数据库。
的index.html
<html>
<head>
<script>
function submitForm(formId){
//var formData= $.(formId).serialize();
$.ajax({
url:'new-user.php',
type:'POST',
data:{
user_name=$("#user_name").val(),
password=$("#password").val();
}
success:function(response){
alert(response);
}
});
}
</script>
</head>
<body>
<form onsubmit="submitForm('#myForm');" id='myForm'>
User Name: <input type="text" name="user_name" id="user_name" />
Password: <input type="text" name="password" id="password" />
<input type="submit"/>
</form>
</body>
</html>
新user.php的
<?php include 'database.php';?>
<?php
mysqli_query($connect,"create table login(User_name varchar(50) NOT NULL,Password varchar(50) NOT NULL)");
$user_name=$_POST['user_name'];
$password=$_POST['password'];
if(empty($user_name)){
$name_error="name is required";
}
mysqli_query($connect,"Insert into login(User_name,Password) values('$user_name','$password')");
if(mysqli_affected_rows($connect)>0){
echo "<p>Credentials added</p>";
echo "<a href='index.html'>Go back</a>";
}else{
echo "<p>Error</p>";
echo mysqli_error($connect);
}
?>
database.php中
<?php
$connect=mysqli_connect('localhost','root','','testdb');
if(mysqli_connect_errno($connect)){
echo 'failed to connect';
}
?>
上面没有在testdb数据库中创建任何表。但是,它正在生成任何警报消息。但是,在单击提交按钮http://localhost/try2/?user_name=aayushi&password=ded
之后,Url会发生更改,但之后没有任何反应。这是我的第一个PHP代码,所以我真的不知道这究竟是什么意思。
答案 0 :(得分:1)
好的,既然似乎没有人真正在阅读你的代码,那么在我把它扔进PhpStorm之前我会遗漏几个语法错误
将您的功能更改为:
function submitForm(formId){
$.ajax({
url:'/new-user.php',
type:'POST',
data:{
user_name: $("#user_name").val(),
password: $("#password").val()
}
})
.complete(function (response) {
alert(response)
})
return false; // Prevents the form from submitting the standard way
}
编辑:将表格更改为:
<form onsubmit="return submitForm('#myForm');" id='myForm'>
答案 1 :(得分:0)
在你的ajax方法中,成功属性是错误的
它被写为success
,当它应该是return false;
另外,为避免刷新页面,请在函数submitForm
的末尾插入h1