配置文件都是放在public這個文件夾下:
config
<?php //連接參數(shù) define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PASS','root'); define('DB_NAME','demo'); define('DB_CHAR','utf8');
connect
<?php require 'config.php'; //1.數(shù)據(jù)庫的連接返回的是一個對象 $db=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME); //echo is_bool($db)?'true':'false';//失敗的時候返回的是布爾false //echo is_object($db)?'true':'false';//判斷$db是不是一個對象,結(jié)果顯示是一個對象 //2.判斷是否連接成功 if(mysqli_connect_errno($db)){ echo '連接失敗'.mysqli_connect_error($db); } //else{ // echo '連接成功'; //} //3.選擇默認(rèn)數(shù)據(jù)庫 mysqli_select_db($db,DB_NAME); //4.設(shè)置默認(rèn)客戶端的字符集 mysqli_set_charset($db,DB_CHAR);
header
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="../../lib/dist/css/bootstrap.css"> <script src="../../lib/jquery-3.2.1.min.js"></script> <script src="../../lib/dist/js/bootstrap.js"></script> <title><?php echo isset($pageTitle)?$pageTitle:'注冊'?></title> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="nav"> <nav class="navbar navbar-inverse"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">我的博客</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li class="active"><a href="#">首頁 <span class="sr-only">(current)</span></a></li> <li><a href="#">學(xué)習(xí)心得</a></li> <li><a href="#">編程技巧</a></li> <li><a href="#">源碼分享</a></li> <li><a href="#">資料下載</a></li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> </div> </div> </div> <!--頭部導(dǎo)航-->
footer
<div class="row"> <div class="col-md-12"> <nav class="navbar navbar-inverse"> <p class="text-center"><a href="">PHP中文網(wǎng)版權(quán)所有</a></p> </nav> </div> </div> <!--底部--> </div> </div> </body> </html>
登錄login
<?php include 'public/header.php';?> <div class="container"> <div class="row"> <div class="col-md-12"> <h3 class="text-center">用戶注冊</h3> <form class="form-horizontal" action="register.php" method="post"> <div class="form-group"> <label for="name" class="col-sm-2 control-label">用戶名</label> <div class="col-sm-10"> <input type="text" class="form-control" id="name" placeholder="請輸入用戶名" name="name" value="<?php echo isset($_POST['name'])?$_POST['name']:'' ?>"> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label">郵箱</label> <div class="col-sm-10"> <input type="text" class="form-control" id="email" placeholder="請輸入郵箱" name="email" value="<?php echo isset($_POST['email'])?$_POST['email']:''?>"> </div> </div> <div class="form-group"> <label for="password1" class="col-sm-2 control-label">密碼</label> <div class="col-sm-10"> <input type="password" class="form-control" id="password1" placeholder="請輸入密碼" name="password1" value="<?php echo isset($_POST['password1'])?$_POST['password1']:'' ?>"> </div> </div> <div class="form-group"> <label for="password2" class="col-sm-2 control-label">密碼確認(rèn)</label> <div class="col-sm-10"> <input type="password" class="form-control" id="password2" placeholder="密碼確認(rèn)" name="password2" value="<?php echo isset($_POST['password2'])?$_POST['password2']:'' ?>"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10 text-center"> <button type="submit" class="btn btn-primary btn-block">注冊</button> </div> </div> </form> </div> </div> </div> <?php include 'public/footer.php';?>
注冊register
<?php /* * 1.檢測注冊表單提交過來的信息 * 2.將用戶數(shù)據(jù)插入到表中 * 3.對錯誤進行處理 */ $pageTitle='注冊處理';//設(shè)置當(dāng)前的頁面標(biāo)題 include 'public/header.php';//導(dǎo)入公共頭部 //對用戶的注冊請求進行處理 if($_SERVER['REQUEST_METHOD']=='POST'){ $error=[];//創(chuàng)建一個錯誤數(shù)組 //檢查用戶名 if(empty($_POST['name'])){ $error[]='用戶名不能為空'; }else{ $name=trim($_POST['name']); } //檢查用郵箱 if(empty($_POST['email'])){ $error[]='郵箱不能為空'; }else{ $email=trim($_POST['email']); } //檢測密碼:因為密碼需要輸入二遍,所以要做相等校驗 if(empty($_POST['password1'])){//第一行密碼如果為空 $error[]='沒有輸入密碼,請檢查'; }else{ //再檢查第二行的校驗密碼 if(empty($_POST['password2'])){ $error[]="沒有輸入校驗密碼,請檢查"; }else{//兩個密碼進行比較 if($_POST['password1']==$_POST['password2']){//兩者相等,操作正確 $password=trim($_POST['password1']); }else{//否則就要重新輸入 $error[]='二次輸入密碼不一致,請檢查'; } } } //將用戶數(shù)據(jù)添加到數(shù)據(jù)庫 if(empty($error)){//如果錯誤數(shù)組為空,將數(shù)據(jù)添加到數(shù)據(jù)庫 // 1.連接數(shù)據(jù)庫 require 'public/connect.php'; // 2.寫SQL語句 $sql="INSERT user1 SET `name`='{$name}',`email`='{$email}',`password`=sha1('{$password}')"; // 3.執(zhí)行SQL語句,向數(shù)據(jù)庫插入數(shù)據(jù) if(mysqli_query($db,$sql)){ // mysqli_affected_rows($db) 返回前一次MYSQL操作所受影響的記錄行數(shù) echo '<h3 style="color: #c1e2b3">成功添加了'.mysqli_affected_rows($db).'條記錄,新增主鍵id是:'.mysqli_insert_id($db).'</h3>'; }else{ echo '<h3 style="color: #888888">添加失敗:'.mysqli_error($db).'</h3>'; } // 關(guān)閉連接 mysqli_close($db); }else{ // 打印錯誤信息 foreach ($error as $message){ echo '<h3>'.$message.'</h3>>'; } } } include 'public/footer.php';
用戶信息表列表view
<?php $pageTetle='用戶信息列表'; //連接數(shù)據(jù)庫 require 'public/connect.php'; include 'public/header.php'; //1.第一大步:從數(shù)據(jù)庫里取數(shù)據(jù) //查詢數(shù)據(jù)庫里的數(shù)據(jù)分二步:第一步寫sql語句 第二步:執(zhí)行sql語句 $sql="SELECT * FROM user1";//sql語句是字符串 $result=mysqli_query($db,$sql);//執(zhí)行查詢 $rows=[];//創(chuàng)建一個結(jié)果集容器 if($result && mysqli_num_rows($result) >0){//結(jié)果與返回結(jié)果集行的數(shù)目有數(shù)據(jù)時 while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))//從所有行中取一行保存在row里 $rows[]=$row;//把取出的一行放到結(jié)果集容器里 }else{ echo '<h3>數(shù)據(jù)表沒有數(shù)據(jù)</h3>'; } ?> <!----> <!--2.第二步建一個表格把取的數(shù)據(jù)放到一個表格中--> <!--用bootStrap來建一個表格--> <div class="container"> <div class="row"> <div class="col-md-12"> <h3 style="color: red" class="text-center" >用戶信息表</h3> <table class="table text-center" border="1" cellpadding="3" cellspacing="0" > <tr> <td>ID</td><td>姓名</td><td>郵箱</td><td>操作</td> </tr> <!-- 把數(shù)據(jù)從rows[]中取出來放到表格里--> <!-- 1.下面循環(huán)輸出用戶信息,用foreach()的替代語法,請盡快熟悉這種寫法,以后寫模板就靠這個玩意了--> <!-- 2. 替代語法的目標(biāo)就是一個: 干掉php代碼中的大括號,因為html與php混寫的時候,不斷的切換會有很多大括號--> <!-- 3. 過多的大括號,即不利于代碼整潔,也容易出錯,不利于代碼維護--> <?php foreach ($rows as $row) :?> <tr> <td><?php echo $row['id']?></td> <td><?php echo $row['name']?></td> <td><?php echo $row['email']?></td> <td> <a class="btn btn-primary" href="edit.php?id=<?php echo $row['id'] ?>" role="button">編輯</a> <a class="btn btn-danger" href="delete.php?id=<?php echo $row['id'] ?>" role="button">刪除</a> </td> </tr> <?php endforeach;?> </table> </div> </div> </div> <?php include 'public/footer.php'?>
更新處理do_edit
<?php /** * 直接復(fù)用注冊處理程序 * 1.檢測編輯表單提交過來的信息 * 2.對用戶的提交信息進行檢查并更新數(shù)據(jù)表 * 3.對錯誤進行處理 */ $pageTitle='更新處理';//設(shè)置當(dāng)前的頁面標(biāo)題 include 'public/header.php';//導(dǎo)入公共頭部 //對用戶的注冊請求進行處理 if($_SERVER['REQUEST_METHOD']=='POST'){ $error=[];//創(chuàng)建一個錯誤數(shù)組 // 用戶名是只讀的,所有不需要檢查 //檢查郵箱 if(empty($_POST['email'])){ $error[]='郵箱不能為空'; }else{ $email=trim($_POST['email']); } // 密碼不需要檢查 //將用戶數(shù)據(jù)添加到數(shù)據(jù)庫 if(empty($error)){//如果錯誤數(shù)組為空,將數(shù)據(jù)添加到數(shù)據(jù)庫 // 1.連接數(shù)據(jù)庫 require 'public/connect.php'; // 2.寫SQL語句 $sql = "UPDATE user1 SET `email`='{$email}' WHERE `id`={$_GET['id']}"; // 3.執(zhí)行SQL語句,向數(shù)據(jù)庫插入數(shù)據(jù) if(mysqli_query($db,$sql)){ // mysqli_affected_rows($db) 返回前一次MYSQL操作所受影響的記錄行數(shù) echo '<h3 style="color: #c1e2b3">成功添加了'.mysqli_affected_rows($db).'條記錄</h3>'; }else{ echo '<h3 style="color: #888888">添加失敗:'.mysqli_error($db).'</h3>'; } // 關(guān)閉連接 mysqli_close($db); }else{ // 打印錯誤信息 foreach ($error as $message){ echo '<h3>'.$message.'</h3>>'; } } } include 'public/footer.php';
用戶信息編輯的表edit
<?php include 'public/header.php'; $id = $_GET['id']; //獲取到要編輯的記錄的id require 'public/connect.php'; //連接數(shù)據(jù)庫 //準(zhǔn)備查詢語句 $sql = "SELECT * FROM `user1` WHERE `id` = ".$id; $res = mysqli_query($db, $sql); //執(zhí)行查詢 if ($res && mysqli_num_rows($res) > 0) { //根據(jù)主鍵查詢只會返回一條記錄,不用循環(huán)處理 $row = mysqli_fetch_array($res, MYSQLI_ASSOC); } ?> <div class="container"> <div class="row"> <div class="col-md-12"> <h3 class="text-center">用戶信息編輯</h3> <!-- 修改處理的php腳本名稱--> <form class="form-horizontal" action="do_edit.php?id=<?php echo $row['id'] ?>" method="post"> <div class="form-group"> <!-- 用戶名和密碼是不允許修改的,因為這是登陸的重要信息,僅允許修改郵箱--> <label for="name" class="col-sm-2 control-label">用戶名</label> <div class="col-sm-10"> <input type="text" class="form-control" id="name" placeholder="userName" name="name" value="<?php echo $row['name'] ?>" readonly> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label">郵箱</label> <div class="col-sm-10"> <input type="email" class="form-control" id="email" placeholder="Email" name="email" value="<?php echo $row['email'] ?>"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10 text-center"> <button type="submit" class="btn btn-primary btn-block">保存</button> </div> </div> </form> </div> </div> </div> <?php include 'public/footer.php' ?>
刪除
<?php require 'public/connect.php'; $sql = "DELETE FROM user1 WHERE id=".$_GET['id']; if (mysqli_query($db, $sql)){ echo '<script>alert("成功刪了'.mysqli_affected_rows($db).'條記錄")</script>'; } else { echo '<script>alert("刪除失敗'.mysqli_error($db).'")</script>'; } mysqli_close($db);
附兩張圖
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號