?前端用戶登錄界面
<!DOCTYPE html>
<html lang="en">
<head>
? ? <meta charset="UTF-8">
? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">
? ? <title>Document</title>
</head>
<body>
? ? <form action="login.php" method="post">
? ? ? ? name: <input type="text" name="name">
? ? ? ? passwd: <input type="password" name="passwd">
? ? ? ? <button type="submit">點擊登錄</button>
? ? </form>
? ? <form action="initialize.php" method="get">
? ? ? ? <button type="submit">數據庫初始化</button>
? ? </form>
</body>
</html>1.編寫form表單,使用post傳輸表單內容
<1.添加表單控件用于輸入用戶名和密碼
<2.添加提交表單按鈕,點擊后跳轉至 login.php(用戶登錄驗證)
2.編寫form表單,用于跳轉至數據庫初始化界面
PHP連接數據庫,創建數據庫及所需數據表
<?php
? ? $address = '127.0.0.1';
? ? $lname = 'root';
? ? $lpasswd = 'root';? ? $initalize_con = new mysqli($address,$lname,$lpasswd);
? ? // var_dump($initalize_con);
? ? if($initalize_con->connect_error){
? ? ? ? die($initalize_con->connect_error);
? ? }else{
? ? ? ? echo 'DATABASE_connect:ok' . '<hr><br>';
? ? }? ? $sql_database = 'CREATE DATABASE IF NOT EXISTS login DEFAULT CHARSET utf8;';
? ? $sql_table = 'CREATE TABLE IF NOT EXISTS?
? ? login.login_tables (
? ? ? ? id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
? ? ? ? name VARCHAR(10) NOT NULL,
? ? ? ? password CHAR(20) NOT NULL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? )DEFAULT CHARSET utf8;';
? ? $res1 = $initalize_con->query($sql_database);
? ? $res2 = $initalize_con->query($sql_table);
? ? if($res1){
? ? ? ? echo 'Statement_1:ok';
? ? }else{
? ? ? ? var_dump($initalize_con->error);
? ? }
? ? if($res2){
? ? ? ? echo '|Statement_2:ok' . '<br><hr>';
? ? }else{
? ? ? ? var_dump($initalize_con->error);
? ? }
? ? $initalize_con->close();
? ? echo "<form action='initialize.php' method='get'>";
? ? echo "<button type='submit'>refresh</button>";
? ? echo "</form>";? ? echo "<form action='web_login.html' method='get'>";
? ? echo "<button type='submit'>login interface</button>";
? ? echo "</form>";
?>1.連接數據庫,并實例化對象
2.判斷數據庫連接狀態
3.構建sql語句
4.使用mysqli對象內置方法執行sql語句
5.判斷語句執行情況
6.關閉數據庫連接
7.構建form表單,提交按鈕分別用于刷新頁面,和重定向到用戶登錄頁
?cookie保存用戶輸入,連接數據庫進行用戶登錄驗證
<?php
? ? header("content-type:text/html;charset=utf8");
? ? setcookie("name",$_POST['name']);
? ? setcookie('passwd',$_POST['passwd']);
? ? // var_dump($_COOKIE);
? ??
? ? $username = $_COOKIE['name'];
? ? $passwd = $_COOKIE['passwd'];? ? function verify($username,$password){
? ? ? ? $address = '127.0.0.1';
? ? ? ? $lname = 'root';
? ? ? ? $lpasswd = 'root';? ? ? ? $initalize_con = new mysqli($address,$lname,$lpasswd);
? ? ? ? $sql = "SELECT * FROM login.login_tables?
? ? ? ? WHERE name ='$username' AND password = '$password';";
? ? ? ? $res = $initalize_con->query($sql);
? ? ? ? // var_dump($res->num_rows);
? ? ? ? if($res->num_rows){
? ? ? ? ? ? return true;
? ? ? ? }else{
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? $initalize_con->close();
? ? }
? ??
? ? if (empty($passwd) || empty($username)){
? ? ? ? echo '用戶名密碼為空';
? ? }else{
? ? ? ? if(verify($username,$passwd)){
? ? ? ? ? ? echo '登錄成功';
? ? ? ? }else{
? ? ? ? ? ? echo '用戶名密碼錯誤';
? ? ? ? }
? ? ? ??
? ? }
? ? echo "<form action='enroll.php' method='get'>";
? ? echo "<button type='submit'>點擊注冊</button>";
? ? echo "</form>";
? ??
?>1.使用cookie保存前端post表單傳遞數據
2.創建變量接收cookie信息
3.創建函數定義虛參用于構建SQL語句
<1.實例化數據庫連接對象
<2.使用預定義虛參,構建sql語句
<3.執行sql語句,并返回結果集對象
<4.通過對象結果集中代表行的屬性(num_rows)用于查詢結果的判斷,并返回不同結果
4.使用多個empty函數判斷變量內容是否存在并使用邏輯或進行連接,用于if條件表達式
<1.如果變量一個或多個為空,觸發if語句
<2.變量均有值,觸發else語句
<3.調用verify函數傳入實參,連接數據庫判斷用戶是否存在
5.構建form表單用于指向注冊界面
?連接數據庫,插入數據,進行用戶注冊
<?php
? ? header("content-type:text/html;charset=utf8");
? ??
? ? @$username = $_COOKIE['name'];
? ? @$passwd = ?$_COOKIE['passwd'];
? ? // var_dump($_COOKIE);? ? function verify($username,$password){
? ? ? ? $address = '127.0.0.1';
? ? ? ? $lname = 'root';
? ? ? ? $lpasswd = 'root';? ? ? ? $initalize_con = new mysqli($address,$lname,$lpasswd);
? ? ? ? $sql = "INSERT INTO login.login_tables(name,password)VALUE('$username','$password')";
? ? ? ? $res = $initalize_con->query($sql);
? ? ? ? // var_dump($res->num_rows);
? ? ? ? if($res){
? ? ? ? ? ? // var_dump($res);
? ? ? ? ? ? return true;
? ? ? ? }else{
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? $initalize_con->close();
? ? }
? ? if (empty($passwd) || empty($username)){
? ? ? ? echo '用戶名密碼為空';
? ? }else{
? ? ? ? if(verify($username,$passwd)){
? ? ? ? ? ? echo '注冊成功';
? ? ? ? }else{
? ? ? ? ? ? echo '系統錯誤';
? ? ? ? }
? ? ? ??
? ? }
? ? echo "<form action='web_login.html' method='get'>";
? ? echo "<button type='submit'>點擊跳轉登錄頁</button>";
? ? echo "</form>";1.定義變量接收cookie中保存的數據
2.編寫函數用于數據庫插入數據
<1.編寫sql語句并執行并進行變量賦值
<2.調用對象內置方法,執行sql語句
<3.根據語句執行結果,返回不同的布爾值
3.使用empty函數判斷用戶輸入值是否為空,并作為if條件語句
<1.如果為空則輸出if語句
<2.不為空,觸發else語句,傳入實參,進行語句執行結果的判斷
4.構造form表單用于跳轉至前端登錄頁