我和一個朋友正試圖爲我們的網站做一個評論系統,我們有一點點代碼插入到MySQL數據庫的值,然後被讀取和顯示爲評論,但是目前數據沒有正確發送到表格。我們對ajax,php和mysql都很新,所以它可能只是一個愚蠢的錯誤! :P製作一個網站評論系統
的HTML:
<form id="postComment" action="Comments.js" method="post">
<input type="email" name="email" onchange="checkEmail();" id="email" /> </br>
<div id ="emailerror">
<p id="emailerror"> </p>
</div> </br>
<input type="text" name="username" id="username" /> </br>
<input type="text" name="content" id="content" /> </br>
<input type="button" value="submit" onclick="commentUpload();" />
</form>
JavaScript文件:
function commentUpload() //uploads comment to sQl table
{
var email = document.getElementById("email").value //gets the user's email
var username = document.getElementById("username").value //gets the user's username
var content = document.getElementById("content").value //gets the comment content
// var articleName = document.getElementById("articleName") gets the article name
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","commentUpload.php?email=" + email + "&username=" +username + "&content="+content,true);
xmlhttp.send();
}
而且PHP:
<?php
$email=mysql_real_escape_string($_GET['email']);
$username=mysql_real_escape_string($_GET['username']);
$content=mysql_real_escape_string($_GET['content']);
$query="INSERT INTO Comments
VALUES (1, email, username, content)";
mysql_query($query);
mysql_close();
?>
感謝提前任何幫助!
你的代碼有很多錯誤。您不得將您的JavaScript文件用作表單操作。你也不能使用重複的'ids' - >'emailerror'。對於你的Ajax請求,我會建議你使用jQuery。而且你不會在你的變量日期填充你的mySQL查詢。 – 2012-07-09 14:17:22
你給了一堆代碼,並且你說「此刻數據沒有正確發送到表」。我認爲更準確地呈現實際發生的事情將使人們更有可能(並願意)幫助你。例如,現在沒有任何東西進入數據庫?你有任何錯誤消息?如果插入了什麼東西,它怎麼錯了? – Thor84no 2012-07-09 14:17:29
jQuery AJAX簡化了JavaScript部分;請參閱http://api.jquery.com/jQuery.ajax/ – Don 2012-07-09 14:18:28