如何将表单内容放入数据库并返回php响应?
我创建了一个html表单,它将某些变量发送到一个php文件,该文件保存在数据库中,并通过json将成功返回给javascript。但问题是我无法保存数据并将响应返回到javascript文件。我不知道原因是什么。有人能帮我吗。多谢各位 我的表格是如何将表单内容放入数据库并返回php响应?,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我创建了一个html表单,它将某些变量发送到一个php文件,该文件保存在数据库中,并通过json将成功返回给javascript。但问题是我无法保存数据并将响应返回到javascript文件。我不知道原因是什么。有人能帮我吗。多谢各位 我的表格是 <!doctype html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.j
<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"> </script>
<script src="scriptj.js"></script>
</head>
<body>
<form action="http://localhost/donotdel/process.php" method="POST">
<div id="name-group" class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" placeholder="name">
</div>
<div id="email-group" class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" name="email" placeholder="email">
</div>
<button type="submit" class="btn btn-success">Submit <span class="fa fa-arrow-right"></span></button>
</form>
</body>
</html>
名称
电子邮件
提交
我的javascript文件是
$(document).ready(function () {
$('form').submit(function (event) {
$('.form-group').removeClass('has-error');
$('.help-block').remove();
var formData = {
'name': $('input[name=name]').val(),
'email': $('input[name=email]').val(),
};
$.ajax({
type: 'POST',
url: 'http://localhost/donotdel/process.php',
data: formData,
dataType: 'json',
encode: true
}).done(function (data) {
console.log(data);
if (!data.success) {
if (data.errors.name) {
$('#name-group').addClass('has-error');
$('#name-group').append('<div class="help-block">' + data.errors.name + '</div>');
}
if (data.errors.email) {
$('#email-group').addClass('has-error');
$('#email-group').append('<div class="help-block">' + data.errors.email + '</div>');
}
}
else {
$('form').append('<div class="alert alert-success">' + data.message + '</div>');
}
}).fail(function (data) {
console.log(data);
});
event.preventDefault();
});
});
$(文档).ready(函数(){
$('form')。提交(函数(事件){
$('.form group').removeClass('has-error');
$('.help块').remove();
var formData={
'name':$('input[name=name]')。val(),
'email':$('input[name=email]')。val(),
};
$.ajax({
键入:“POST”,
网址:'http://localhost/donotdel/process.php',
数据:formData,
数据类型:“json”,
编码:正确
}).完成(功能(数据){
控制台日志(数据);
如果(!data.success){
if(data.errors.name){
$(“#名称组”).addClass('has-error');
$(“#名称组”).append(“”+data.errors.name+“”);
}
if(data.errors.email){
$(“#电子邮件组”).addClass('has-error');
$(“#电子邮件组”).append(“”+data.errors.email+“”);
}
}
否则{
$('form').append(“”+data.message+“”);
}
}).失败(功能(数据){
控制台日志(数据);
});
event.preventDefault();
});
});
我的php文件是
<?php
$errors = array();
$data = array();
if (empty($_POST['name']))
$errors['name'] = 'Name is required.';
if (empty($_POST['email']))
$errors['email'] = 'Email is required.';
if ( ! empty($errors)) {
$data['success'] = false;
$data['errors'] = $errors;
} else {
$data['success'] = true;
$data['message'] = 'Success!';
}
header ('Content-Type: application/json');
header("Access-Control-Allow-Origin: *");
echo json_encode($data);
?>
现在,从上面的php文件中,我想将名称和电子邮件输入数据库。但我不知道怎么做。有人能帮我写代码吗。输入后,我想将上面的json响应发送回javascript
谢谢您需要做的是建立数据库连接,并使用该数据库连接在users表中插入新行。如果sql出错,则返回错误;如果sql出错,则返回json数据。完成后,请确保关闭与数据库的连接 首先构建一个dbconfig.php文件 这用于建立与数据库的连接。 这就是一个简单的例子
<?php
$servername = "localhost";
$username = "root";
$password = "temppass";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
这应该涵盖所有您使用的是
mysqli
还是PDO
?我可以帮助您插入数据…可以吗抱歉,我刚刚更新了我的答案,以获得一些更有用的代码。只要你填写了变量,一切都会顺利进行。服务器名、用户名、密码和QryString@mudassar我想将数据输入数据库并将json响应发送回上面的javascript文件如果您使用->prepare()
,->bind_param()
,和->execute()
,而不是->query(),这个答案会更好
这段代码很快就为第一次介绍mysql连接和插入而编写。我用bruit代码表示歉意,但这对于学习目的来说已经足够了。请随意编辑以使其更好。是的,我知道这种输入数据的方法,但我面临的问题是,我想接收数据,使用mysql输入数据库,一旦成功,我想向我的javascript文件发送json响应,该响应将重定向到另一个页面。但在这里,我无法将变量输入数据库并仅发送响应。如果您先给一个人介绍mysql连接,然后插入,那么教给他们打开sql注入的坏方法可能不是一个好主意。@SusanWilliams那么您的问题是什么?您说希望接收数据、插入数据并发送响应。您提供的代码除了插入数据外,其他都会插入数据,因此@SariRahal认为您需要帮助插入数据是合乎逻辑的。所以,如果这不是你需要帮助的,你需要澄清你的问题。
include ('dbconfig.php');
// Check connection
if (mysqli_connect_error()) {
die("Database connection failed: " . mysqli_connect_error());
}else{
//if it make a connection insert code here!
$qry = "INSERT ..."; //build your insert string here!
$conn->query($qry); // run your insert here!
//Don't forget to CLOSE YOUR CONNECTION!
$conn->close();
}