Board logo

標題: 是程式問題,還是server 設定問題? [打印本頁]

作者: sunhikari    時間: 2012-2-13 14:40     標題: 是程式問題,還是server 設定問題?

下面係我寫的有關check pasword的程式
  1. <?php
  2.         //取得表單資料
  3.   $account = $_POST["account"];        
  4.   $password = $_POST["password"];

  5.         //建立資料連接
  6.         $link = mysql_connect("localhost", "root", "multiple");
  7.         if (!$link) die("建立資料連接失敗");
  8.                        
  9.         //開啟資料表
  10.         $db_selected = mysql_select_db("multiple", $link);
  11.         if (!$db_selected) die("開啟資料庫失敗");
  12.                        
  13.         //檢查帳號密碼是否正確
  14.         $sql = "SELECT * FROM account Where account ='$account' AND password ='$password'";
  15.         $result = mysql_query($sql, $link);
  16.         if (!$result) die("執行 SQL 命令失敗");


  17. //如果帳號密碼錯誤
  18.         if (mysql_num_rows($result) == 0)
  19.         {
  20.           //釋放 $result 佔用的記憶體
  21.                 mysql_free_result($result);
  22.        
  23.                 //關閉資料連接       
  24.                 mysql_close($link);               
  25.                
  26.                 //顯示訊息要求使用者輸入正確的帳號密碼
  27.                 echo "<SCRIPT LANGUAGE='javascript'>";
  28.                 echo "alert('username or password not correct.Please check it and login again.');";
  29.                 echo "history.back();";
  30.                 echo "</SCRIPT>";
  31.         }
  32.        
  33.         //如果帳號密碼正確
  34.         else
  35.         {
  36.        
  37.                 //取得 id 欄位
  38.                 $id = mysql_result($result, 0, "id");
  39.                 $limit= mysql_result($result, 0, "limit");
  40.        
  41.           //釋放 $result 佔用的記憶體       
  42.                 mysql_free_result($result);
  43.                
  44.                 //關閉資料連接       
  45.                 mysql_close($link);                               

  46.                 //將使用者資料加入 cookies
  47.                 setcookie("id", $id);
  48.                 setcookie("limit", $limit);
  49.                 setcookie("passed", "TRUE");               
  50.                 header("location:my_work_place.php");       
  51. }       
  52.        
  53. ?>
複製代碼
其實去到check password啱定錯個陣係無問題
但一但check到係啱,做寫野個陣,就會出error http 500
唔知係我段程式寫得有問題定係server出問題.......
求指教

小弟用的是apache2.2+php5.3+mysql5.5


作者: garrodran99    時間: 2012-2-13 15:15

點解唔用 MVC, ORM
作者: 神秘二代    時間: 2012-2-13 19:48

本帖最後由 神秘二代 於 2012-2-13 19:49 編輯
下面係我寫的有關check pasword的程式其實去到check password啱定錯個陣係無問題
但一但check到係啱,做寫野 ...
sunhikari 發表於 2012-2-13 14:40


因為你close左個連線/free左memory...資料已不存在
縱使你用$id = mysql_result($result, 0, "id");
其實個$id只係reference左RAM既address,並無真正取得值
所以要close連線/free memory應該是完成所有關於database的動作時釋放~





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2