圖書館佔座系統(二)

第一次更新(2018.8.3 20:53)

這篇主要寫登錄的
我寫的登錄主要有兩種辦法
一是同時比對用戶名和密碼
二是先比對用戶名在比對密碼

以下是第一種方法的代碼:

$sql = "select * from ceshi1 where name='$name' and password='$password'";

$res = mysql_query($sql);
//var_dump($res);
$row = mysql_fetch_row($res);
//var_dump($row);

    if($row){
        echo "<script>alert('登錄成功')</script>";
        echo "<script>location.href='一樓.html';</script>";
    }else{
        echo "<script>alert('登錄失敗')</script>";
        //echo "<script>history.go(-1);</script>"; //登錄失敗返回上一個頁面
        echo "<script>location.href='登錄.html';</script>"; //登錄失敗,跳轉到另外一個頁面
    }

先寫出數據庫查詢語句

$sql = "select * from ceshi1 where name='$name' and password='$password'"

這段sql語句的作用是
查詢所有項目從ceshi1的表裏 當name等於用戶輸入的名字,當password等於用戶輸入的密碼,或者說,把用戶輸入的名字賦值給name,把用戶輸入的密碼賦值給password

$res = mysql_query($sql);

這語句的意思是發送sql語句並執行,如果sql語句爲真返回1。否則返回0;
所以上面的sql語句的意思是從數據庫中查詢符合條件的數據,如果有,返回1,否則返回0;
這樣就可以根據返回值來判斷是否登錄成功;

第二種方法
先查詢姓名再查詢密碼
具體代碼如下:

$sql = "select name from ceshi.ceshi1 where name = '$name'";

$res = mysql_query($sql);
//var_dump($res);
//$row = mysql_fetch_row($res);
var_dump($res);
if($res){
    $sql_password = "select password from ceshi.ceshi1 where password = '$password'";
    $res_password = mysql_query($sql_password);
    $row_password = mysql_fetch_row($res_password);
    if($row_password){
        echo "<script>alert('登錄成功')</script>";
        echo "<script>location.href='一樓.html';</script>";
    }
    else{
        echo "<script>alert('登錄失敗111')</script>";
    echo "<script>location.href='登錄.html';</script>"; //登錄失敗,跳轉到另外一個頁面
    }
}
else

{
    echo "<script>alert('登錄失敗2222')</script>";
    echo "<script>location.href='登錄.html';</script>"; //登錄失敗,跳轉到另外一個頁面
}

這兩個辦法都實現了登錄,但是缺點很明顯,那就是非常容易被攻擊,明文密碼沒有安全性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章