小白教程——Windows下用PHP寫一個簡單的登錄註冊頁面(二)

  哈嘍,看到這裏希望小夥伴們都把wampserver環境安裝好了,如果還沒有安裝或創建數據表就移步去看我上一篇文章吧。OK~接下我們將進入代碼實現部分,首先我們需要一個文本編輯器,可以是電腦自帶的notepad也可以是notepad++或者是sublime,博主習慣用sublime,也寫過一篇sublime的安裝教程,還沒有的小夥伴可以去看一下,強烈推薦用sublime喲。

  好了話不多說直接進入正題吧,首先要啓動我們的wampserver服務器,然後單擊圖標選擇www directory,接下來會在這個創建一個名爲MyWebsite文件夾作爲我們的項目文件,這個文件名可以自己修改。

創建之後打開這個文件夾首先創建創建一個sql.func.php,這個文件來對底層函數進行一下封裝,代碼如下:

<?php
/**
*彈框
*/
function _alert($_info){
    echo "<script type='text/javascript'>alert('$_info');history.back();</script>";
    exit;
}

/**
 * _location():彈出一個對話框並且轉跳到另一個界面
 * @access public
 * @param string $_info 對話框上顯示的信息
 * @param string $_url  轉跳的頁面地址
 * @return void
 */
function _location($_info,$_url){
    if($_info==null){
        header('Location:'.$_url);
    }else{
        echo "<script type='text/javascript'>alert('$_info');location.href='$_url';</script>";
        exit;
    }

}

/**
 * _connect():連接數據庫
 * @access public
 * @return void
 */
function _connect()
{
    //定義全局變量$_conn,在函數外部也能調用
    global $_conn;
    $_conn=mysqli_connect(DB_HOST, DB_USER,DB_PWD);
    if (!$_conn) {
        exit('數據庫連接失敗:'.mysqli_error($_conn));
    }
}

/**
 * _select_db():選擇數據庫
 * @access public
 * @return void
 */
function _select_db(){
    global $_conn;
    if(!mysqli_select_db($_conn,DB_NAME)){
        exit('找不到數據庫'.mysqli_error($_conn));
    }
}

/**
 * _set_names():設置字符編碼
 * @access public
 * @return void
 */
function _set_names(){
    global $_conn;
    if(!mysqli_query($_conn,'SET NAMES UTF8')){
        exit('字符編碼錯誤'.mysqli_error($_conn));
    }
}

/**
 * _query():執行sql語句
 * @access public
 * @param string $_sql sql操作語句
 * @return string 返回結果集
 */
function _query($_sql){
    global $_conn;
    if(!$result=mysqli_query($_conn,$_sql)){
        exit('SQL執行失敗'.mysqli_error($_conn).mysqli_errno($_conn));
    }
    return $result;
}

/**
 * _fetch_array():根據sql語句遍歷數據庫。返回一個數組,鍵名是數據庫的表單結構名
 * @access public
 * @param string $_sql sql操作語句
 * @return array|null
 */
function _fetch_array($_sql){
    return mysqli_fetch_all(_query($_sql),MYSQLI_ASSOC);
}

/**
 * _num_rows():返回數據庫中查找條件的數據個數
 * @access public
 * @param string $_sql sql操作語句
 * @return int 返回數據個數
 */
function _num_rows($_sql){
    return mysqli_num_rows(_query($_sql));
}

/**
 * _affected_rows():返回數據庫裏被影響到的數據條數
 * @access public
 * @return int 返回影響到的記錄數
 */
function _affected_rows(){
    global $_conn;
    return mysqli_affected_rows($_conn);
}

/**
 * _is_repeat():判斷數據在數據庫裏是否已經存在
 * @access public
 * @param string $_sql sql操作語句
 * @param string $_info 彈窗上顯示的文字
 * @return void
 */
function _is_repeat($_sql,$_info){
    if(_fetch_array($_sql)){
        _alert_back($_info);
    }
}

/**
 * _close():關閉數據庫
 * @access public
 */
function _close(){
    global $_conn;
    if(!mysqli_close($_conn)){
        exit('數據庫關閉異常'.mysqli_error($_conn));
    }
}
?>

  connect.php 的文件,這個文件是連接數據庫的文件,然後open with sublime text 進行編輯。連接數據庫代碼如下:

<?php
	$_conn=mysqli_connect('localhost','root','');
	if (!$_conn) {
		exit('數據庫連接失敗:'.mysqli_error($_conn));
	}
	mysqli_select_db($_conn,'people')or die('找不到數據庫:'.mysqli_error($_conn).mysqli_errno($_conn));
	mysqli_query($_conn,"SET NAMES UTF8");
	// var_dump($_conn);
	include "sql.func.php";
 ?>


  註釋的那部分是爲了方便調試,檢驗是否成功連接到了數據庫。在第二行的連接操作處就是我上一節提到的連接用戶名和密碼,如果沒有重新設置就這樣寫,如果自己修改過賬號密碼就需要將相應的值修改一下。

  然後開始寫我們的主頁,同樣新創建一個index.html,寫一個簡單的登錄註冊錨鏈接,代碼如下

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>首頁</title>
</head>
<body>
	<a href="login.php">登錄</a>
	<a href="register.php">註冊</a>
</body>
</html>
  創建成功後不要直接雙擊打開,你直接在瀏覽器網址欄輸入:http://localhost/MyWebsite/index.html 來打開

  然後再創建一個login.php,編寫登錄頁面,假設登錄成功就跳轉到CSDN首頁,代碼如下

<?php
include "./connect.php";
//接收數據
if(isset($_POST['userid']) && isset($_POST['password'])){
	//從數據庫裏查找用戶名是否存在
	$_sql = "SELECT user_id,user_password FROM user WHERE user_id='{$_POST['userid']}'";
	$result = _fetch_array($_sql);
	if(!empty($result[0])){
		if($result[0]['user_password']==$_POST['password']){
			_location('登錄成功','http://www.csdn.net/');
		}else{
			_alert('密碼錯誤');
		}
	}else{
		_alert('用戶名不存在');
	}
	_close();
	exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>登錄</title>
</head>
<body>
	<form action="login.php" method="post">
		用戶ID: <input type="text" name="userid">
		密碼: <input type="password" name="password">
		<input type="submit" value="提交">
	</form>
</body>
</html>

登錄功能就實現了,那麼接下來就是註冊功能,同樣需要新建一個register.php,註冊代碼如下:

<?php
include "./connect.php";
//接收數據
if(isset($_POST['userid']) && isset($_POST['password'])){
	//插入到數據庫中
	$_sql = "INSERT INTO user(user_id,user_password)values('{$_POST['userid']}','{$_POST['password']}')";
	$_result = _query($_sql);
	_location("註冊成功!","index.html");
	_close();
	exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>註冊</title>
</head>
<body>
	<form action="register.php" method="post">
		用戶ID: <input type="text" name="userid">
		密碼: <input type="password" name="password">
		<input type="submit" value="註冊">
	</form>
</body>
</html>

  註冊成功後可以在數據庫裏看到,user數據表中就會多一個你剛剛註冊的用戶。


  好了一個簡單的登錄註冊功能就這樣實現了,這篇小白教程就結束了,希望能幫助到你!喜歡的話就點個贊哦~~


這裏附上實例文件:MyWebsite

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