我想知道是否有人能夠幫助我。用Ajax向MySQL提交表格
有段時間我一直在尋找一篇教程/文章,向我展示如何設置表單並使用AJAX將用戶輸入提交給mySQL數據庫。
儘管這並沒有告訴我如何將數據發送到數據庫,但this文章爲我提供了一個很好的起點,它也給了我關於在線消息的'外觀和感覺',我希望納入我的表格。
我現在已經開始修改示例腳本,但是我很難將數據提交到我的數據庫。
在形式,我改變了這一節:
$.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
消息,並繼續卡住這個消息和非數據發送到我的數據庫,我必須承認我真的不知道爲什麼。
我明白,由於我缺乏經驗,可能會有一種更簡單的方法來達到我想要的效果,我可能會過於簡單地看待這個問題,但我只是想知道是否有人可以看看這個並讓我知道我要去哪裏錯了。
許多的感謝和親切的問候
表單上沒有'savecontact.php'這樣的屬性。你應該回滾你的JavaScript代碼。 –
嗨@Truth,謝謝你。我做了更改,正如我在下面的帖子中突出顯示的那樣。親切的問候 – IRHM
您需要發佈更多的php - 即變量$ senderName,$ senderEmail和$ message的設置在哪裏? – bcmcfc