PHP:登錄界面

<?php 
	DEFINE('DB_HOST','localhost');
	DEFINE('DB_USER','root');
	DEFINE('DB_PWD','');
	DEFINE('DB_NAME','name');
	$dbc=mysqli_connect (DB_HOST,DB_USER,DB_PWD,DB_NAME);
	if(!$dbc)
	{
		echo"連接失敗:".mysqli_connect_error();
		exit(1);
	}
	mysqli_set_charset($dbc,'utf8');	
	//上爲連接數據庫代碼,[數據庫鏈接具體介紹](https://blog.csdn.net/mishilq/article/details/89217424)
	if(isset($_POST['tj'])){
		//如果點擊提交按鈕,開始驗證用戶名與密碼是否和數據庫內數據匹配
		$zh=$_POST['user_id'];
		//得到輸入的用戶名內容
	    $pass=$_POST['pass'];
	    //得到輸入的密碼內容
	    if($zh=='')
	    //如果用戶名沒填寫則直接報錯
	    {
	        echo "<script>alert('用戶名不能爲空');location.href='denglu.php';</script>";
	        //利用js代碼彈出錯誤提示,並且重新進入此頁面
	        return -1;
	        //讓PHP直接返回,不再執行下面代碼(PHP中一般錯誤返回flase或0或-1)
	    }
	    $sql="SELECT * from users WHERE user_id='$zh' and pass=SHA1('$pass')";
	    //查詢數據庫中符合用戶名字段(此句中user_id爲用戶名字段名)等於輸入的用戶名內容並且數據庫中密碼字段(此句中pass爲密碼字段名)等於輸入的密碼行(注意表名要改爲自己的表名此句中users爲我的表名)
	    $rs=mysqli_query($dbc,$sql);
	    //執行上面的數據庫代碼 
	    $num=mysqli_num_rows($rs); 
	     //此函數爲判斷$rs中有幾行(查詢語句返回的是一個列表)
	    if($num<=0){
	    //當返回的錶行數小於或等於0時說明沒有滿足(數據庫中用戶名字段等於輸入的用戶名內容並且數據庫中密碼字段等於輸入的密碼)的行
	        echo "<script>alert('用戶名或密碼錯誤');location.href='denglu.php';</script>";
	        //通過js代碼彈出錯誤提示,並且重新進入此頁面
	        return -1;
	        //返回-1,不再執行下面代碼
	    }
	    echo "<script>alert('登錄成功');location.href='index.php';</script>";
	    //如果上面的判斷語句都沒有滿足,就能執行到這一行,讓頁面跳轉到index.php頁面
	}
?>
//下面爲HTML代碼
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <form method="post" action="">
            <label for="uname">賬號:</label><input type="text" name="user_id" id="user_id"><br><br>
            <label for="uname">密碼:</label><input type="text" name="pass" id="pass"><br><br>
            <input type="submit" value="登錄" name='tj'>
        </form>
    </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章