gpt4 book ai didi

javascript - 如何在 PHP 文件中使用 MySQL 检查数据提交是否成功

转载 作者:行者123 更新时间:2023-11-29 11:17:21 25 4
gpt4 key购买 nike

我正在 PHP 文件中使用 MySQL 命令提交表单。我可以毫无问题地插入数据。

但是,我同时也想在同一页面上向用户显示一条“感谢信息”,以便他/她知道数据已成功注册。另一方面,如果出现任何错误,我也可以显示一条抱歉消息。

这就是我的问题所在。我用 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();
}
}
}
)};
});
}

最佳答案

每个文档: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_* 已弃用,最好升级到 mysqliPDO。如果不进行清理,用户就可以破解您的数据库..

尽管如此,正确返回 json 将确保 success: function(response) 中的 response 是一个对象,并且 response .result 将按预期返回,您可以使用 response.message 在您想要的位置显示消息。

关于javascript - 如何在 PHP 文件中使用 MySQL 检查数据提交是否成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com