咱們使用的是PHP 的php_mysqli擴展javascript
首先了解一些基礎的用法php
mysqli_connect()
參數:①主機地址 ②MYSQL用戶名 ③MYSQL密碼 ④選擇鏈接的數據庫 ⑤ 端口號
返回:若是鏈接成功 返回資源類型的標識符號,若是失敗返回false
若是咱們與Mysql創建的鏈接不止一條,那麼之後操做數據庫的各類函數都必須傳入返回的鏈接符號
若是咱們與mysql創建的鏈接只有一條,那麼之後操做數據庫的各類函數就沒必要傳入這個標識符號html
2.設置字符集編碼格式
mysqli_set_charset() ;java
3.執行SQL語句
若是是增刪改 將返回布爾類型的是否成功
若是是查詢,將返回資源結果集
$res=mysqli_query();mysql
mysqli_fetch_assoc($res); 返回關聯數組
mysqli_fetch_row($res); 返回索引數組
mysqli_fetch_object($res); 返回對象
mysqli_fetch_field($res); 返回結果集中每一列的字段信息(字段名,表名,數據庫名,字段類型)
mysqli_data_seek($res, 0); 設置結果集指針位置,爲零,結果集復位到最開始
mysqli_free_result($res); 釋放查詢資源結果集
mysqli_close($conn); 關閉數據庫鏈接jquery
下面咱們來實現一個簡單註冊登陸的功能。sql
先將通用的配置提到一個PHP文件中,後邊再用到引入便可數據庫
<?php header("Content-Type:text/html;charset=utf-8"); define("HOST", "127.0.0.1"); define("USERNAME", "root"); define("PASSWORD", ""); define("DBNAME", "mydb"); define("CHARSET", "utf8"); $con=mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("數據庫鏈接失敗,<span style='color:red;'>".mysqli_connect_error()."</span>"); mysqli_set_charset($con, CHARSET) or die("字符集編碼設置無效");
在數據庫中建個表,以便存取用戶信息。在這我在mydb數據庫中建立了一個名爲submit的表。數組
首先作的事註冊功能,註冊就是將用戶輸入表單中的信息保存到後臺數據庫的表中函數
下邊的是註冊頁的樣式,沒什麼好說的,記住name ID便可
<div class="panel panel-primary"> <div class="panel-heading"> <div class="panel-title">用戶註冊</div> </div> <div class="panel-body"> <form class="form-horizontal"> <div class="form-group"> <label>用戶名</label> <input type="text" class="form-control" name="userName"/> </div> <div class="form-group"> <label>密碼</label> <input type="password" class="form-control" name="pwd" /> </div> <div class="form-group"> <label>確認密碼</label> <input type="password" class="form-control" name="rePwd" /> </div> <div class="form-group"> <label>真實姓名</label> <input type="text" class="form-control" name="realName" /> </div> <div class="form-group btns"> <input type="button" class="btn btn-primary" value="肯定註冊" id="submit"/> <a type="button" class="btn btn-success" href="login.php"/>返回登陸</a> </div> </form> </div> </div>
重點是看看如何用JQuery將數據POST到後臺
<script src="../../js/jquery-1.10.2.js"></script> <script type="text/javascript"> $(function(){ $("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val(); var rePwd = $("input[name='rePwd']").val(); var realName = $("input[name='realName']").val(); if(userName==""||pwd==""||rePwd==""||realName==""){ alert("全部信息不可爲空,請確認!"); return; }else if(pwd!=rePwd){ alert("兩次密碼輸入不一致!"); return; } $.post("doReg.php",{ "userName":userName, "pwd":pwd, "realName":realName },function(data){ alert(data); if(data=="註冊成功"){ location = "login.php"; } }) }); }); </script>
後臺的php文件接收數據後,將接收的數據經過SQL語句操做數據庫將數據存入表中
<?php header("Content-Type:text/html;charset=utf-8"); $str=$_POST["formData"]; list($username)=explode("&", $str); list(,$pwd)=explode("&", $str); list(,,,$realname)=explode("&", $str); list(,$username)=explode("=", $username); list(,$pwd)=explode("=", $pwd); list(,$realname)=explode("=", $realname); include_once("mysql.php"); $sql=<<<sql insert into submit (username,pwd,realname) values ("$username","$pwd","$realname"); sql; $sql2=<<<sql2 SELECT username FROM submit WHERE username="$username"; sql2; $res2=mysqli_query($con, $sql2); $res=mysqli_query($con, $sql); if(mysqli_num_rows($res2)>0){ die("用戶名已經存在!"); } elseif($res){ echo 'true'; }else{ die(); }
這樣,點擊註冊按鈕,就可將輸入的信息存入表中。成功後跳轉登錄頁
下面作的就是登錄頁,登陸功能須要讀取存在表中的用戶名與密碼信息
登陸頁樣式也很少說。一樣記住須要的name與ID
<div class="panel panel-primary"> <div class="panel-heading"> <div class="panel-title">用戶登陸</div> </div> <div class="panel-body"> <form class="form-horizontal"> <div class="form-group"> <label>用戶名</label> <input type="text" class="form-control" name="userName"/> </div> <div class="form-group"> <label>密碼</label> <input type="password" class="form-control" name="pwd"/> </div> <div class="form-group btns"> <input type="button" class="btn btn-primary" value="登陸系統" id="submit"/> <a type="button" class="btn btn-success" href="reg.php"/>註冊帳號</a> </div> </form> </div> </div>
重點仍是JQ代碼
<script src="../../js/jquery-1.10.2.js"></script> <script type="text/javascript"> $(function(){ $("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val(); $.post("doLogin.php",{ "userName":userName, "pwd":pwd },function(data){ alert(data); if(data=="登陸成功"){ location = "index.php"; }else{ alert("用戶名或密碼有誤!"); } }); }); }); </script>
上述登錄頁的JQ代碼所作的是,取到後臺登錄PHP文件從數據庫中讀取的用戶名與密碼信息和用戶輸入的新相比較,true則登錄成功
那麼後臺登錄頁怎麼寫的呢,很簡單,經過SQL語句從表中讀取到信息後,返回給前臺登陸頁面便可
<?php header("Content-Type:text/html;charset=utf-8");include_once("../mysql/mysql.php"); $userName = $_POST["userName"]; $pwd = $_POST["pwd"]; $loginSql = <<<login select * from submit where username="{$userName}" and pwd = "{$pwd}"; login; $res = mysqli_query($con, $loginSql); if($row = mysqli_fetch_row($res)){ $_SESSION["user"] = $row; echo "登陸成功"; }else{ echo "登陸失敗"; } mysqli_free_result($res); mysqli_close($con);
登錄成功後,提示登陸成功,跳轉到首頁(index.html)