看板 PHP 關於我們 聯絡資訊
※ 引述《marcoyan (あぁ.触らない!)》之銘言: : ※ 引述《hinet60613 (小呆維)》之銘言: : : 小弟正在寫一個需要管理介面的網站 : : 不過光是登入的地方就0rz : : <?php : : $admin=$_POST["admin"]; : : $insert=$_POST["insert"]; : : $password=mysql_query("select * from `web` where admin=$admin") or die("未抓到 : : 密碼"); : 以上沒有mysql_connect動作,所以上述應該無法執行,如果有~繼續下面 : : if($insert == $password["insert"])echo "登入成功"; : 基本上,你沒有將mysql查詢的資料輸出,就不會有$password["insert"]產生 : : else : : { : : echo"登入失敗<br>"; : : echo $password["insert"]; : : } : : ?> : : 現在是不管怎樣他都說登入失敗 : 好像錯蠻大的.. 我補充一下好了..(見笑見笑..^^") : 你上述如果你是要做簡單的打帳密登入的話,你參考下列的行為 : 不過基本上密碼通常會加密(md5等等) : 下面是比較簡易型的登入測試 : <?php : $username=$_POST['username']; //使用者帳號 : $password=$_POST['password']; //使用者密碼 : $sql="SELECT * FROM `web` WHERE `admin` = '".$username."' AND `password` = '".$password."'"; 儘量不要把密碼放在 sql schema 裡 $sql='SELECT * FROM `web` WHERE `admin`="'.addslashes($username).'" LIMIT 1'; $rs=mysql_query($sql); if(!mysql_num_rows($rs)){ //failed } else{ $rs=mysql_fetch_assoc($rs); if(!strcmp($rs['password'],$password)){ //successful } else{ //failed } unset($rs); } : $rs=mysql_query($sql); : if(mysql_num_rows($rs)=='1'){ //假設搜尋出的資料筆數為1筆 : echo "登入成功"; : }else{ : echo "登入失敗"; : } : ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.158.15
dj4 :推一下 可預防SQL injection 04/08 22:17