很新的php/mysql和jquery,我無法讓我的表單數據上傳到我的MySQL數據庫。我嘗試了幾種不同的方法並完成了我的研究,但是我在網上找到的所有建議都不適合我,這就是我在這裏發佈的原因。因此,這裏是我最近失敗的方法:獲取我的表單數據發佈到mysql數據庫
<head>
...
<script type="text/javascript">
$(document).ready(function() {
// Announcement form AJAX submit
$('#announcementForm').submit(function() {
$.ajax({
url: 'ajax.php',
type: 'POST',
dataType: 'json',
data: $(this).serialize(),
success: function(data) {
if (data.error) {
$('#error').css('display', 'block');
} else {
$('#note').show();
$('#error').hide();
$('#fields').hide();
}
}
});
return false;
});
});
</script>
</head>
<body>
...
<form class="dl_form" id="announcementForm" method="post">
<dl>
<dt>Announcement</dt>
<dd><textarea id="Announcement" sytle="width: 300px; height: 150px;" name="Announcement"></textarea></dd>
</dl>
<dl>
<dt>Announcement Type:</dt>
<dd><input type="radio" name="Type" value="schedule">Scheduling</input></dd>
<dd><input type="radio" name="Type" value="general">General</input></dd>
</dl>
<dl>
<dt></dt>
<dd><input type="submit" value="submit" /></dd>
</dl>
</form>
<div id="note">
<p>Announcement posted successfully!"</p>
</div>
<div id="error">You haven't completed all of the required fields</div>
然後在我的ajax.php文件我有(部分線路已被替換爲「######」爲:
在我的索引文件安全原因):
<?php
//database credentials
$server = '######';
$username = '######';
$password = '######';
$database = '######';
$connect = mysql_connect($server, $username, $password) or die(mysql_error.'error connecting to db');
//select database
mysql_select_db($database, $connect) or die(mysql_error.'error selecting db');
//$typeValue = $('input:radio[name=Type]:checked').val());
if (!empty($_POST)){
$Announcement = $_POST['Announcement'];
$Type = $_POST['Type'];
if (!empty($Announcement) && !empty($Type))
{
//insert data into db
mysql_query("INSERT into announcements (AnnouncementID, Type, Announcement)
VALUES ('', '".$Type."', '".$Announcement."')") or die(mysql_error());
}else {
echo json_encode(array(
'error' => true,
'msg' => "You haven't completed all required fields!"
));
exit;
}
}
?>
你們可以提供任何幫助將非常感激。
感謝
UPDATE響應傑伊·布蘭查德:
我只是跑在我的瀏覽器的控制檯。我得到的唯一錯誤是:
SCRIPT1004: Expected ';'
參考我的JS的第一行:
$function() {
...
更新2:
剛剛更新我的代碼,以反映我最近的變化...在我至少可以觸發提交點擊的情況下,字段將被清空,表明至少發生了一些事情。然而,隨着我的新一輪的變化,甚至沒有觸發,所以我仍然相當卡住
請勿使用mysql_ *。它被棄用和不安全,並將從未來版本的PHP中刪除。此外,您可以廣泛開放SQL注入。您需要使用PDO或MySQLi並使用預準備語句。 –
你沒有提到什麼問題? –
此外,你應該從您的查詢中刪除公告ID如果在數據庫中它是自動增量,因爲數據庫會警告你列錯誤的整數值公告ID –