2012-01-13 72 views
2

問題2.更新代碼導致錯誤,但它看起來好像沒什麼問題:

現在我得到在代碼不輸入實際的ID號到查詢的錯誤...

這裏是錯誤:

查詢錯誤:您的SQL語法有錯誤;請查看與您的MySQL服務器版本對應的手冊,以便在第1行「'附近使用正確的語法。

代碼已更新以顯示新代碼。 (再次),這次是隱藏腳本,以及其他一些調整。我已經失去了希望得到這個工作。

Issue 1 Solved:  
This line of code is brining back and error: 

     $query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = "$_GET['id']""; 

    The error is: 

    **Parse error: syntax error, unexpected T_VARIABLE in /home/pawz/public_html/kaboomlabs.com/testbed/edit.php on line 49** 

I can't figure out why it is doing it, if someone can show me my mistake it be greatlyfully appreciated. 

好的,這裏是整個代碼。

  <?php 
require_once('connectvars.php'); 
echo '<div id="postwrap">' 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>PDI NCMR - Edit</title> 
    <link rel="stylesheet" type="text/css" href="CSS/postie.css" /> 
</head> 
<body> 
    <div id="logo"> 
    <img src="../images/PDI_Logo_2.1.gif" alt="PDI Logo" /> 
</div> 

<?php 

     $id=0; 
     if(isset($_GET['id'])) 
     $id= mysqli_real_escape_string($dbc, trim($_GET['id'])); 

     if (isset($_POST['submit'])) { 
      $id= mysqli_real_escape_string($dbc, trim($_POST["id"])); 
// Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

// Enter data into the database 
    $ab = mysqli_real_escape_string($dbc, trim($_POST['ab'])); 
    $date = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime ($_POST['date'])))); 
    $part = mysqli_real_escape_string($dbc, trim($_POST['part'])); 
    $rev = mysqli_real_escape_string($dbc, trim($_POST['rev'])); 
    $partdesc = mysqli_real_escape_string($dbc, trim($_POST['partdesc'])); 
    $ncmrqty = mysqli_real_escape_string($dbc, trim($_POST['ncmrqty'])); 
    $comp = mysqli_real_escape_string($dbc, trim($_POST['comp'])); 
    $ncmrid = mysqli_real_escape_string($dbc, trim($_POST['ncmrid'])); 
    $rma = mysqli_real_escape_string($dbc, trim($_POST['rma'])); 
    $jno = mysqli_real_escape_string($dbc, trim($_POST['jno'])); 
    $fdt = mysqli_real_escape_string($dbc, trim($_POST['fdt'])); 
    $cof = mysqli_real_escape_string($dbc, trim($_POST['cof'])); 
    $fab1= mysqli_real_escape_string($dbc, trim($_POST['fab1'])); 
    $fab2= mysqli_real_escape_string($dbc, trim($_POST['fab2'])); 
    $fab3= mysqli_real_escape_string($dbc, trim($_POST['fab3'])); 
    $non= mysqli_real_escape_string($dbc, trim($_POST['non'])); 
    $dis= mysqli_real_escape_string($dbc, trim($_POST['dis'])); 
    $comm= mysqli_real_escape_string($dbc, trim($_POST['comm'])); 
    $caad= mysqli_real_escape_string($dbc, trim($_POST['caad'])); 
    $po= mysqli_real_escape_string($dbc, trim($_POST['po'])); 
    $pod = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime($_POST['pod'])))); 
    $dri = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime($_POST['dri'])))); 

    $query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = $id"; 

// echo your raw query and look for obvious errors 
    echo "Query is : " . $query . "<br />"; 

// and at least use a basic mechanism to trap possibles errors 
     mysqli_query($dbc, $query) or die('Query Error : ' . mysqli_error($dbc)); 


// Confirm success with the user 
     echo '<p>If you wish to edit more NCMRs, please <a href="list.php">go to the admin page!</a></p>'; 

     // echo your raw query and look for obvious errors 
    echo "Query is : " . $query . "<br />"; 
// Clear the form data 
    $id = ""; 
    $ab = ""; 
    $date = ""; 
    $part = ""; 
    $rev = ""; 
    $partdesc = ""; 
    $ncmrqty = ""; 
    $comp = ""; 
    $ncmrid = ""; 
    $rma = ""; 
    $jno = ""; 
    $fdt = ""; 
    $cof = ""; 
    $fab1= ""; 
    $fab2= ""; 
    $fab3= ""; 
    $non= ""; 
    $dis= ""; 
    $comm= ""; 
    $caad= ""; 
    $po= ""; 
    $pod = ""; 
    $dri = ""; 
      mysqli_close($dbc); 
      } 

    else {  

// Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
// Grab the profile data from the database 
if (!isset($_GET['id'])) { 
    $query = "SELECT * FROM ncmr WHERE id = '$id'"; 
    } 
    else { 
    $query = "SELECT * FROM ncmr WHERE id = '$id'"; 
    } 

    $data = mysqli_query($dbc, $query); 

    if (mysqli_num_rows($data) == 1) { 
// The user row was found so display the user data 
    $row = mysqli_fetch_array($data); 
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>"; 
    echo '<fieldset>'; 

     echo '<div id="box1">'; 
      if (empty($row['ab'])) $row['ab'] = "Empty"; 
      if (empty($row['date'])) $row['date'] = "Empty"; 
      if (empty($row['part'])) $row['part'] = "Empty"; 
      if (empty($row['rev'])) $row['rev'] = "Empty"; 
      if (empty($row['partdesc'])) $row['partdesc'] = "Empty"; 
      if (empty($row['ncmrqty'])) $row['ncmrqty'] = "Empty"; 
      echo '<div id="ab"><span class="b">Added By:&nbsp;&nbsp;</span><input type="text" name="ab" value="' . $row['ab'] . '" /></div>'; 
      echo '<div id="date"><span class="b">Date Filed:&nbsp;&nbsp;</span><input type="text" name="date" value="' . $row['date'] . '" /></div>'; 
      echo '<div id="part"><span class="b">Part Number:&nbsp;&nbsp;</span><input type="text" name="part" value="' . $row['part'] . '" /></div>'; 
      echo '<div id="rev"><span class="b">Part Revision:&nbsp;&nbsp;</span><input type="text" name="rev" value="' . $row['rev'] . '" /></div>'; 
      echo '<div id="partdesc"><span class="b">Part Description:&nbsp;&nbsp;</span><textarea rows="4" cols="22">' . $row['partdesc'] . '</textarea></div>'; 
      echo '<div id="ncmrqty"><span class="b">NCMR Qty:&nbsp;&nbsp;</span><input type="text" name="ncmrqty" value="' . $row['ncmrqty'] . '" /></div>'; 
     echo '</div>'; 

//Company, Customer NCMR, Internal RMA, and Job Number 
     echo '<div id="box2">'; 
      if (empty($row['comp'])) $row['comp'] = "Empty"; 
      if (empty($row['ncmrid'])) $row['ncmrid'] = "Empty"; 
      if (empty($row['rma'])) $row['rma'] = "Empty"; 
      if (empty($row['jno'])) $row['jno'] = "Empty"; 
       echo '<div id="comp"><span class="b">Company:&nbsp;&nbsp;</span><input type="text" name="comp" value="' . $row['comp'] . '" /></div>'; 
        echo '<div id="ncmrid"><span class="b">Customer NCMR ID:&nbsp;&nbsp;</span><input type="text" name="ncmrid" value="' . $row['ncmrid'] . '" /></div>'; 
        echo '<div id="rma"><span class="b">Internal RMA #:&nbsp;&nbsp;</span><input type="text" name="rma" value="' . $row['rma'] . '" /></div>'; 
        echo '<div id="jno"><span class="b">Job #:&nbsp;&nbsp;</span><input type="text" name="jno" value="' . $row['jno'] . '" /></div>'; 
     echo '</div>'; 

//Type of Failure and Class of Failure 
     echo '<div id="box3">'; 
      echo '<h2>Failure</h2>'; 
       echo '<div id="cof"><span class="b">Class of Failure:&nbsp;&nbsp;</span><input type="text" name="cof" size="15" value="' . $row['cof'] . '" /></div>'; 
       echo '<div id="fdt"><span class="b">Failure Due To:&nbsp;&nbsp;</span><input type="text" name="fdt" size="15" value="' . $row['fdt'] . '" /></div>'; 

      echo '</div>'; 

//Fabricators 
     echo '<div id="box4">'; 
      echo '<h2>Fabricators</h2>'; 
if ($row['fab1']="--None--") 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 


if ($row['fab2']="--None--") 
{ 
    echo'<div id="fab2">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab2'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo '<div id="fab2"><span class="b"></span><input type="text" name="fab1" size="20" value="' . $row['fab1'] . '" /></div>'; 
    echo '</div>'; 
} 
if ($row['fab3']="--None--") 
{ 
    echo'<div id="fab3">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab3'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo '<div id="fab3"><span class="b"></span><input type="text" name="fab1" size="20" value="' . $row['fab1'] . '" /></div>'; 
    echo '</div>'; 
}  echo '</div>'; 

//Nonconformity, Disposition, Comments and Comments & Additional Details 
     echo '<div id="box5">'; 
      if (empty($row['non'])) $row['non'] = "Empty"; 
      if (empty($row['dis'])) $row['dis'] = "Empty"; 
      if (empty($row['comm'])) $row['comm'] = "Empty"; 
      if (empty($row['caad'])) $row['caad'] = "Empty"; 

      echo '<div id="non"><span class="b">Nonconformity:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['non'] . '</textarea></div>'; 
      echo '<div id="dis"><span class="b">Disposition:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['dis'] . '</textarea></div>'; 
      echo '<div id="comm"><span class="b">Comments:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['comm'] . '</textarea></div>'; 
      echo '<div id="caad"><span class="b">Comments and/or Additional Details:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['caad'] . '</textarea></div>'; 

       echo '<div id="podr">'; 
         if (empty($row['po'])) $row['po'] ="Empty"; 
         if (empty($row['pod'])) $row['pod'] ="Empty"; 
         if (empty($row['dir'])) $row['dri'] ="Empty"; 

        echo '<div id="po"><span class="b">PO:&nbsp;&nbsp;</span><input type="text" name="po" size="7" value="' . $row['po'] . '" /></div>'; 
        echo '<div id="pod"><span class="b">PO Date:&nbsp;&nbsp;</span><input type="text" name="pod" size="7" value="' . $row['pod'] . '" /></div>'; 
        echo '<div id="dri"><span class="b">Date Received:&nbsp;&nbsp;</span><input type="text" name="dri" size="7" value="' . $row['dri'] . '" /></div>'; 
       echo '</div>'; 
      echo '<div id="button2"><input type="submit" value="Submit Edits" name="submit" /></div>'; 
//Save ID so it can be used with POST request. 
echo "<input type='hidden' value='$id' name='id'/>"; 

     echo '</div>'; 
    echo '</fieldset>'; 
echo '</form>'; 
     } 
    } 

echo '</div>'; 

?> 
</body> 
</html> 
+2

**警告**您的代碼對您的where子句中的SQL注入攻擊是可以接受的! – 2012-01-13 13:29:40

+0

@ DanielA.White很高興您警告可能的SQL注入的OP,但是您不提供解決此問題的任何指示。也許你可以添加一個鏈接或OP爲了閱讀和學習? – Bazzz 2012-01-13 13:32:22

+0

除了針對原始問題的解決方案之外,還可以在我的答案中找到方向! :) – Connum 2012-01-13 13:35:40

回答

6

你需要前後$_GET['id']的thingie使用連接運算符.。或將其嵌入到字符串:

".... WHERE id = {$_GET['id']}"; 

(請注意,您$_GET['id']不消毒,直接從網絡上輸入取不是最好的事情。)。

3

你忘了連接操作在這裏:"$_GET['id']"",應該是".$_GET['id'].";"

每次看到解析錯誤時間:語法錯誤,故障就在你身邊。你有文件名和行號,你只需要看看:-)

+0

我不認爲「;」是正在生成的字符串的一部分... – Chris 2012-01-13 13:31:39

+0

由於整個代碼在這裏,我認爲沒有其他的SQL條件,所以;可以安全地添加(它只是更乾淨)。 – Damien 2012-01-13 13:33:08

+0

* nod *它更多的是我認爲'''原文中的';'是語句的結尾';'而不是字符串的一部分。我個人不認爲加入;使它更清潔,但這是個人喜好。 – Chris 2012-01-13 13:35:08

0

我的PHP的記憶越來越模糊,但是這部分看起來錯誤:

WHERE id = "$_GET['id']""; 

我假設你使用雙引號那裏避免與變量中的單引號混淆,但我會想象你會想要某種連接運算符。即:

WHERE id = ".$_GET['id']; 

或者你可以只是做

$getid = $_GET['id'] 

前手和你的表達式中使用簡單的變量名。這將更符合你如何處理其餘變量...

0

逃避得到id關閉querystring就像你做其他值。這不是合適的。

0

您忘記爲字符串連接添加運算符.。這是它應該如何看:

$query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = ".$_GET['id']; 

而且,非常重要:不要在SQL查詢中使用未經覈實的請求數據,否則將容易受到MySQL injections!在這種情況下,如果ID始終是一個整數,加入(INT)$_GET['id']之前將幫助:

WHERE id = "$_GET['id']" 
// should be 
WHERE id = '{$_GET['id']}' 

然而,你應該先逃避它:

$query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = ".(int)$_GET['id']; 
2

您已經在最後斷章取義$_GET['id']mysql_real_escape_string()

$id = mysql_real_escape_string($_GET['id']); 
// Then use 
WHERE id = '$id' 
+0

爲什麼大家都會錯過它?\t $ id = mysqli_real_escape_string($ dbc,trim($ _ GET ['id']));衛生腳本的第一行 – 2012-01-13 13:58:13

+0

@MattRidge I看到它在那裏,但你仍然直接在你的查詢中使用'$ _GET ['id']'。 – 2012-01-13 14:00:09

+0

@MattRidge對我們而言,突出的不是逃脫變量的大塊,而是非字節化的SQL字符串中的唯一一個變量。 – 2012-01-13 14:00:52

0

好,大量的工作,圍繞切換代碼和不眠之夜後,我好像在這裏一提的回答我自己有幫助的問題我向那些確實給出正確方向的答案的人表示讚賞。

這是我做什麼,從原來的代碼,我改變了這些位:

線20〜28:我把訪問數據庫的腳本之前,不要問我,爲什麼我沒有看到這之前,但我做到了,我肯定是一個初學者的錯誤,但仍然發生,尤其是因爲我還是一名初學者。

這是第20-28行之間的代碼,因爲它現在看起來像。

// Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

     $id= mysqli_real_escape_string($dbc, trim(0)); 
     if(isset($_GET['id'])) 
     $id= mysqli_real_escape_string($dbc, trim($_GET['id'])); 

     if (isset($_POST['submit'])) { 
      $id= mysqli_real_escape_string($dbc, trim($_POST["id"])); 

第54行按照此處的建議進行了重寫。

它現在在結尾處有正確數量的引號,看起來像這樣。

$query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = '$id'";[/code] 

我刪除線67.

這一個:

echo "Query is : " . $query . "<br />"; 

我刪除線97和98

// Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

即所有的編輯。

這裏是完整的代碼。

<?php 
require_once('connectvars.php'); 
echo '<div id="postwrap">' 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Edit</title> 
     <link rel="stylesheet" type="text/css" href="CSS/postie.css" /> 
</head> 
<body> 
    <div id="logo"> 
    <img src="../images/PDI_Logo_2.1.gif" alt="PDI Logo" /> 
</div> 

<?php 
// Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

     $id= mysqli_real_escape_string($dbc, trim(0)); 
     if(isset($_GET['id'])) 
     $id= mysqli_real_escape_string($dbc, trim($_GET['id'])); 

     if (isset($_POST['submit'])) { 
      $id= mysqli_real_escape_string($dbc, trim($_POST["id"])); 

// Enter data into the database 
    $ab = mysqli_real_escape_string($dbc, trim($_POST['ab'])); 
    $date = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime ($_POST['date'])))); 
    $part = mysqli_real_escape_string($dbc, trim($_POST['part'])); 
    $rev = mysqli_real_escape_string($dbc, trim($_POST['rev'])); 
    $partdesc = mysqli_real_escape_string($dbc, trim($_POST['partdesc'])); 
    $ncmrqty = mysqli_real_escape_string($dbc, trim($_POST['ncmrqty'])); 
    $comp = mysqli_real_escape_string($dbc, trim($_POST['comp'])); 
    $ncmrid = mysqli_real_escape_string($dbc, trim($_POST['ncmrid'])); 
    $rma = mysqli_real_escape_string($dbc, trim($_POST['rma'])); 
    $jno = mysqli_real_escape_string($dbc, trim($_POST['jno'])); 
    $fdt = mysqli_real_escape_string($dbc, trim($_POST['fdt'])); 
    $cof = mysqli_real_escape_string($dbc, trim($_POST['cof'])); 
    $fab1= mysqli_real_escape_string($dbc, trim($_POST['fab1'])); 
    $fab2= mysqli_real_escape_string($dbc, trim($_POST['fab2'])); 
    $fab3= mysqli_real_escape_string($dbc, trim($_POST['fab3'])); 
    $non= mysqli_real_escape_string($dbc, trim($_POST['non'])); 
    $dis= mysqli_real_escape_string($dbc, trim($_POST['dis'])); 
    $comm= mysqli_real_escape_string($dbc, trim($_POST['comm'])); 
    $caad= mysqli_real_escape_string($dbc, trim($_POST['caad'])); 
    $po= mysqli_real_escape_string($dbc, trim($_POST['po'])); 
    $pod = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime($_POST['pod'])))); 
    $dri = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime($_POST['dri'])))); 

    $query = "UPDATE ncmr SET ab = '$ab', date = '$date', part = '$part', rev = '$rev' , partdesc = '$partdesc' , ncmrqty = '$ncmrqty' , comp = '$comp' , ncmrid = '$ncmrid' , rma = '$rma' , jno = '$jno' , fdt = '$fdt' , cof = '$cof' , fab1 = '$fab1' , fab2 = '$fab2' , fab3 = '$fab3' , non = '$non' , dis = '$dis' , comm = '$comm' , caad = '$caad' , po = '$po' , pod = '$pod' , dri = '$dri' WHERE id = '$id'"; 

// echo your raw query and look for obvious errors 
    echo "Query is : " . $query . "<br />"; 

// and at least use a basic mechanism to trap possibles errors 
     mysqli_query($dbc, $query) or die('Query Error : ' . mysqli_error($dbc)); 


// Confirm success with the user 
     echo '<p>If you wish to edit more NCMRs, please <a href="list.php">go to the admin page!</a></p>'; 

// Clear the form data 
    $id = ""; 
    $ab = ""; 
    $date = ""; 
    $part = ""; 
    $rev = ""; 
    $partdesc = ""; 
    $ncmrqty = ""; 
    $comp = ""; 
    $ncmrid = ""; 
    $rma = ""; 
    $jno = ""; 
    $fdt = ""; 
    $cof = ""; 
    $fab1= ""; 
    $fab2= ""; 
    $fab3= ""; 
    $non= ""; 
    $dis= ""; 
    $comm= ""; 
    $caad= ""; 
    $po= ""; 
    $pod = ""; 
    $dri = ""; 
      mysqli_close($dbc); 
      } 

    else {  

// Grab the profile data from the database 
if (!isset($_GET['id'])) { 
    $query = "SELECT * FROM ncmr WHERE id = '$id'"; 
    } 
    else { 
    $query = "SELECT * FROM ncmr WHERE id = '$id'"; 
    } 

    $data = mysqli_query($dbc, $query); 

    if (mysqli_num_rows($data) == 1) { 
// The user row was found so display the user data 
    $row = mysqli_fetch_array($data); 
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>"; 
    echo '<fieldset>'; 

     echo '<div id="box1">'; 
      if (empty($row['ab'])) $row['ab'] = "Empty"; 
      if (empty($row['date'])) $row['date'] = "Empty"; 
      if (empty($row['part'])) $row['part'] = "Empty"; 
      if (empty($row['rev'])) $row['rev'] = "Empty"; 
      if (empty($row['partdesc'])) $row['partdesc'] = "Empty"; 
      if (empty($row['ncmrqty'])) $row['ncmrqty'] = "Empty"; 
      echo '<div id="ab"><span class="b">Added By:&nbsp;&nbsp;</span><input type="text" name="ab" value="' . $row['ab'] . '" /></div>'; 
      echo '<div id="date"><span class="b">Date Filed:&nbsp;&nbsp;</span><input type="text" name="date" value="' . $row['date'] . '" /></div>'; 
      echo '<div id="part"><span class="b">Part Number:&nbsp;&nbsp;</span><input type="text" name="part" value="' . $row['part'] . '" /></div>'; 
      echo '<div id="rev"><span class="b">Part Revision:&nbsp;&nbsp;</span><input type="text" name="rev" value="' . $row['rev'] . '" /></div>'; 
      echo '<div id="partdesc"><span class="b">Part Description:&nbsp;&nbsp;</span><textarea rows="4" cols="22">' . $row['partdesc'] . '</textarea></div>'; 
      echo '<div id="ncmrqty"><span class="b">NCMR Qty:&nbsp;&nbsp;</span><input type="text" name="ncmrqty" value="' . $row['ncmrqty'] . '" /></div>'; 
     echo '</div>'; 

//Company, Customer NCMR, Internal RMA, and Job Number 
     echo '<div id="box2">'; 
      if (empty($row['comp'])) $row['comp'] = "Empty"; 
      if (empty($row['ncmrid'])) $row['ncmrid'] = "Empty"; 
      if (empty($row['rma'])) $row['rma'] = "Empty"; 
      if (empty($row['jno'])) $row['jno'] = "Empty"; 
       echo '<div id="comp"><span class="b">Company:&nbsp;&nbsp;</span><input type="text" name="comp" value="' . $row['comp'] . '" /></div>'; 
        echo '<div id="ncmrid"><span class="b">Customer NCMR ID:&nbsp;&nbsp;</span><input type="text" name="ncmrid" value="' . $row['ncmrid'] . '" /></div>'; 
        echo '<div id="rma"><span class="b">Internal RMA #:&nbsp;&nbsp;</span><input type="text" name="rma" value="' . $row['rma'] . '" /></div>'; 
        echo '<div id="jno"><span class="b">Job #:&nbsp;&nbsp;</span><input type="text" name="jno" value="' . $row['jno'] . '" /></div>'; 
     echo '</div>'; 

//Type of Failure and Class of Failure 
     echo '<div id="box3">'; 
      echo '<h2>Failure</h2>'; 
       echo '<div id="cof"><span class="b">Class of Failure:&nbsp;&nbsp;</span><input type="text" name="cof" size="15" value="' . $row['cof'] . '" /></div>'; 
       echo '<div id="fdt"><span class="b">Failure Due To:&nbsp;&nbsp;</span><input type="text" name="fdt" size="15" value="' . $row['fdt'] . '" /></div>'; 

      echo '</div>'; 

//Fabricators 
     echo '<div id="box4">'; 
      echo '<h2>Fabricators</h2>'; 
if ($row['fab1']=="--None--") 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 


if ($row['fab2']="--None--") 
{ 
    echo'<div id="fab2">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab2'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo '<div id="fab2"><span class="b"></span><input type="text" name="fab1" size="20" value="' . $row['fab1'] . '" /></div>'; 
    echo '</div>'; 
} 
if ($row['fab3']="--None--") 
{ 
    echo'<div id="fab3">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab3'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo '<div id="fab3"><span class="b"></span><input type="text" name="fab1" size="20" value="' . $row['fab1'] . '" /></div>'; 
    echo '</div>'; 
}  echo '</div>'; 

//Nonconformity, Disposition, Comments and Comments & Additional Details 
     echo '<div id="box5">'; 
      if (empty($row['non'])) $row['non'] = "Empty"; 
      if (empty($row['dis'])) $row['dis'] = "Empty"; 
      if (empty($row['comm'])) $row['comm'] = "Empty"; 
      if (empty($row['caad'])) $row['caad'] = "Empty"; 

      echo '<div id="non"><span class="b">Nonconformity:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['non'] . '</textarea></div>'; 
      echo '<div id="dis"><span class="b">Disposition:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['dis'] . '</textarea></div>'; 
      echo '<div id="comm"><span class="b">Comments:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['comm'] . '</textarea></div>'; 
      echo '<div id="caad"><span class="b">Comments and/or Additional Details:&nbsp;&nbsp;</span><textarea rows="4" cols="105">' . $row['caad'] . '</textarea></div>'; 

       echo '<div id="podr">'; 
         if (empty($row['po'])) $row['po'] ="Empty"; 
         if (empty($row['pod'])) $row['pod'] ="Empty"; 
         if (empty($row['dir'])) $row['dri'] ="Empty"; 

        echo '<div id="po"><span class="b">PO:&nbsp;&nbsp;</span><input type="text" name="po" size="7" value="' . $row['po'] . '" /></div>'; 
        echo '<div id="pod"><span class="b">PO Date:&nbsp;&nbsp;</span><input type="text" name="pod" size="7" value="' . $row['pod'] . '" /></div>'; 
        echo '<div id="dri"><span class="b">Date Received:&nbsp;&nbsp;</span><input type="text" name="dri" size="7" value="' . $row['dri'] . '" /></div>'; 
       echo '</div>'; 
      echo '<div id="button2"><input type="submit" value="Submit Edits" name="submit" /></div>'; 
//Save ID so it can be used with POST request. 
echo "<input type='hidden' value='$id' name='id'/>"; 

     echo '</div>'; 
    echo '</fieldset>'; 
echo '</form>'; 
     } 
    } 

echo '</div>'; 

?> 
</body> 
</html> 
相關問題