何が起こっているのかわかりません。PHPとJavascriptでコードを何度も再確認しましたが、対応する{がない追加の}を見つけることができません。誰かがコードを確認するのを手伝ってくれますか? ?
これが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();
}
PHPファイルのviewlog関数のコンテンツについても、jsファイルのviewlog関数を非表示にしようとしましたが、どちらのアクションでも同じメッセージが表示されます。デバッグ方法がわかりません。誰かが私に手を差し伸べてもらえますか?