我想知道是否有人可以帮助我。
一段时间以来,我一直在寻找一个教程/文章,它向我展示了如何使用 AJAX 设置表单并将用户输入提交到 mySQL 数据库。
虽然这并没有告诉我如何将数据发送到数据库,但这篇文章为我提供了一个很好的起点,它也给了我关于在线消息的“外观和感觉”,我想将其合并到我的表单中.
我现在已经开始调整示例脚本,但在将数据提交到我的数据库时遇到了困难。
在表格中,我更改了此部分:
$.ajax( {
url: contactForm.attr( 'action' ) + "?ajax=true",
type: contactForm.attr( 'method' ),
data: contactForm.serialize(),
success: submitFinished
} );
}
至
$.ajax( {
url: contactForm.attr( 'savecontact.php' ) + "?ajax=true",
type: contactForm.attr( 'post' ),
data: contactForm.serialize(),
success: submitFinished
} );
}
在 PHP 脚本中,我将其更改为现在阅读:
<?php
// Read the form values
$success = false;
$senderName = isset( $_POST['senderName']);
$senderEmail = isset( $_POST['senderEmail']);
$message = isset( $_POST['message']);
if ( $senderName && $senderEmail && $message ) {
$query = "INSERT INTO `contact` (senderName, senderEmail, message) VALUES ('$senderName', '$senderEmail', '$message')";
mysql_query($query) or die(mysql_error());
}
// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
echo $success ? "success" : "error";
} else {
?>
<html>
<head>
<title>Thanks!</title>
</head>
<body>
<?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
<?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
<?php
}
?>
我遇到的问题是,在发送表单时,sending
消息出现在屏幕上并继续停留在此消息上,并且没有数据发送到我的数据库,我必须承认我真的不知道为什么。
我很感激,由于我缺乏经验,可能有一种更简单的方法来实现我想要的结果,我可能看得太简单了,但我只是想知道是否有人可以看看这个并让我知道我要去哪里错了。
非常感谢和亲切的问候