第一次更新(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>"; //登錄失敗,跳轉到另外一個頁面
}
這兩個辦法都實現了登錄,但是缺點很明顯,那就是非常容易被攻擊,明文密碼沒有安全性。