如何检查在PHP文件中使用MySQL提交成功的数据
How to check successful data Submit using MySQL in a PHP file
我在PHP文件中使用MySQL命令提交表单。我可以毫无问题地插入数据。
但是,我同时也想在同一页面上显示给用户一个"Thank you message",让他/她知道数据已经注册成功。另一方面,如果出现错误,我也可以显示一个抱歉的消息。
这就是我的问题所在。我用Javascript编写了几行代码,以便在同一页面中显示消息。然而,我被我应该检查成功和失败的内容(以及如何检查)所困扰。我把我的代码附在下面。
你能帮我说说你的想法吗?
谢谢AB
HTML表单标签:
<form id="info-form" method="POST" action="form-submit.php">
form-submit.php :
<?php
require("database-connect.php");
$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$sql = "INSERT INTO tbl_details ".
"(name,email_id,mobile_number) ".
"VALUES ".
"('$name','$email','$mobile')";
mysql_select_db('db_info');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
return false;
}
echo "Entered data successfully'n";
mysql_close($conn);
?>
submit-logic.js :
$(function ()
{
$('form').submit(function (e)
{
e.preventDefault();
if(e.target === document.getElementById("info-form"))
{
$.ajax(
{
type:this.method,
url:this.action,
data: $('#info-form').serialize(),
dataType: 'json',
success: function(response)
{
console.log(response);
if(response.result == 'true')
{
document.getElementById("thankyou_info").style.display = "inline";
$('#please_wait_info').hide();
document.getElementById("info-form").reset();
}
else
{
document.getElementById("thankyou_info").style.display = "none";
document.getElementById("sorry_info").style.display = "inline";
$('#please_wait_info').hide();
}
}
}
)};
});
}
Per documentation: http://api.jquery.com/jquery.ajax/
dataType (default: Intelligent Guess (xml, json, script, or html))
Type: String
The type of data that you're expecting back from the server.
您显式地将其设置为json
,但随后返回一个字符串。您应该返回json
,就像您告诉ajax脚本所期望的那样。
<?php
require("database-connect.php");
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$mobile = mysql_real_escape_string($_POST['mobile']);
$sql = "INSERT INTO tbl_details ".
"(name,email_id,mobile_number) ".
"VALUES ".
"('$name','$email','$mobile')";
mysql_select_db('db_info');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die(json_encode(array('result' => false, 'message' => 'Could not enter data: ' . mysql_error()));
}
echo json_encode(array('result' => true, 'message' => 'Entered data successfully'));
mysql_close($conn);
?>
我还添加了代码来净化字符串,尽管mysql_*
已被弃用,最好升级到mysqli
或PDO
。如果不进行清理,用户可以入侵您的数据库。
尽管如此,正确返回json
将确保success: function(response)
中的response
是一个对象,并且response.result
将按预期返回,并且您可以使用response.message
在您想要的地方显示消息。
相关文章:
- 无法获取 AJAX 表单来提交 MySQL 数据
- 提交按钮,调用js函数,然后发布到mysql
- 将Jquerys的日期选择器提交到mysql时遇到问题
- 在不提交表单的情况下,在两个texbox中比较mysql数据库中的值
- Php:如何在不提交表单的情况下从mysql数据库中获取文本框值
- PHP/MySQL-数据库数据的复选框,提交2个参数
- 预装内容;如果连接正常,则不需要访问Internet即可显示onclick+mysql提交的新内容
- 如何提交表格,并在每个不同的'选择mysql-query'并将答案插入mysql数据库
- 提交按钮未将表单数据发送到 mysql - jquery 问题
- 这里我有一个HTML表单和PHP MySQL表,在表中输入值并按下提交按钮后,不会出现任何输出
- 如何添加图像到mysql数据库,当用户提交他们的图像
- 我如何提交一个没有提交按钮的“文件”输入,然后在同一脚本中做mysql更新
- 如何通过使用PHP,Angular.js和MySQL的单个用户提交在多行插入值
- 如何根据数据库下拉列表的mysql计数限制或停止表单提交?
- 如何提交mysql查询时,点击链接,使用onclick
- 地理编码不工作在php mysql提交表单
- 如何检查在PHP文件中使用MySQL提交成功的数据
- Jquery表单向Mysql提交空值
- iFrame向MySql提交数据后刷新父页面
- 使用PHP从html表单/表向MySQL提交动态行数