我不知道發生了什麼,我再次在PHP和Javascript中檢查我的代碼,但無法找到任何額外的},它沒有相應的{,任何人都可以幫我看一下代碼?未捕獲的SyntaxError:意外的代幣}
這裏是PHP文件,加載函數可以成功加載,但是當我點擊按鈕「查看日誌」時,會發生上述消息。
function load($DB){
$dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']);
if(!$dbConnection){
die('Error! ' . mysql_error());
}
mysql_select_db($DB['database'], $dbConnection);
$result = mysql_query("SELECT ClientName FROM Client");
print "Sort by";
print "<select id='option'>";
print "<option value='3'>Tech</option>";
print "<option value='4'>Client</option>";
print "</select>";
print "<input type='button' value='View the log' onclick='viewlog(document.getElementById('option').value)'/>";
print "<br>";
print "Tech Name checked in/out from";
print "<select id='client'>";
while($row = mysql_fetch_array($result)){
print "<option value='".$row['ClientName']."'>".$row['ClientName']."</option>";
}
print "</select>";
print "<input type='button' value='Display' onclick='display(document.getElementById('client').value)'/>";
print "<br>";
print "<button type='button' onclick='back.php?function=5'>Export the log to .csv</button>";
print "<br>";
}
function viewlog($DB, $sort){
print "<h1>repeat</h1>";
$dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']);
if(!$dbConnection){
die('Error! ' . mysql_error());
}
mysql_select_db($DB['database'], $dbConnection);
$query = "SELECT *
FROM Tech AS T, Client AS C, Site AS S, Log AS L
WHERE T.TechID=L.TechID AND C.ClientID=L.ClientID AND S.SiteID=L.SiteID ";
if($sort=="Tech")
$query .= "ORDER BY T.TechName ASC, L.Time DESC";
else if($sort=="Client")
$query .= "ORDER BY C.ClientName ASC, L.Time DESC";
$result = mysql_query($query) or die('Error! ' . mysql_error());;
print "Real-Time check in/check out<br>";
print "<table><th><td>Tech</td><td>Client</td><td>Site</td>";
print "<td>Date and Time</td><td>Type</td></th>";
while($row = mysql_fetch_array($result)){
print "<tr><td>".$row['TechName']."</td>";
print "<td>".$row['ClientName']."</td>";
print "<td>".$row['SiteName']."</td>";
print "<td>".$row['Time']."</td>";
print "<td>".$row['Type']."</td></tr>";
}
print "</table>";
}
function export($DB){
$dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']);
if(!$dbConnection){
die('Error! ' . mysql_error());
}
mysql_select_db($DB['database'], $dbConnection);
$result = mysql_query("SELECT TechName, ClientName, SiteName, Time, Type
INTO OUTFILE 'result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED by '\"'
LINES TERMINATED BY '\n'
FROM Tech AS T, Client AS C, Site AS S, Log AS L
WHERE T.TechID=L.TechID AND C.ClientID=L.ClientID AND S.SiteID=L.SiteID
ORDER BY L.Time DESC");
$Time = date('Y_m_d_H_i');
$fileName = "Report_" + $Time;
header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="'.$fileName.'.csv"');
readfile('result.csv');
}
$function = $_GET['function'];
if($function==0)
load($DB);
elseif($function==3)
viewlog($DB, "Tech");
elseif($function==4)
viewlog($DB, "Client");
elseif($function==5)
export($DB);
下面是Javascript代碼:
function load(){
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.onreadystatechange = function(){
//document.getElementById("action").innerHTML=xmlhttp.status;
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("action").innerHTML=xmlhttp.responseText;
}
}
var num = 0;
xmlhttp.open("GET","back.php?function="+num, true);
xmlhttp.send();
}
function viewlog(num){
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.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("View").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","back.php?function="+num, true);
xmlhttp.send();
}
我試圖隱藏在js文件的事件瀏覽功能,也爲PHP文件還的事件瀏覽功能的內容,但兩個動作還是給了同樣的消息,我真的不知道如何調試它。有人能幫我一把嗎?
你在瀏覽器或者你的apache錯誤日誌中看到這個錯誤嗎? IE瀏覽器,這是一個JS錯誤或PHP錯誤? 你的環境是什麼? LAMP後端,您使用的瀏覽器是什麼? – 2012-07-14 02:29:36
這是假設說你從哪一行中得到錯誤。 – Ruel 2012-07-14 02:31:31
刪除多餘的';':'$ result = mysql_query($ query)或死('Error!'。mysql_error());; '爲了防止將來的錯誤。請參閱下面的@Eric回答。 – 2012-07-14 02:33:58