1,html頁面php
index.htmlcss
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="index.html">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">用戶管理 <a class="btn btn-link btn-sm" href="edit.html">添加</a></h1> <table class="table table-hover"> <thead> <tr> <th>#</th> <th>頭像</th> <th>姓名</th> <th>性別</th> <th>年齡</th> <th class="text-center" width="140">操做</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> </tbody> </table> <ul class="pagination justify-content-center"> <li class="page-item"><a class="page-link" href="#">«</a></li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">»</a></li> </ul> </main> </body> </html>
2,下一步,從數據庫中提取數據 ( php代碼)html
①創建鏈接mysql
②開始查詢sql
③遍歷結果集數據庫
<?php $connection=mysqli_connect('127.0.0.1','root','123456','demo03'); if(!$connection){ exit('鏈接數據庫失敗'); } $query= mysqli_query($connection,'select * from users;'); if(!$query){ exit('查詢失敗'); } while($row = mysqli_fetch_assoc($query)){ var_dump($row); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="index.html">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">用戶管理 <a class="btn btn-link btn-sm" href="edit.html">添加</a></h1> <table class="table table-hover"> <thead> <tr> <th>#</th> <th>頭像</th> <th>姓名</th> <th>性別</th> <th>年齡</th> <th class="text-center" width="140">操做</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">1</th> <td><img src="assets/img/icon-40.png" class="rounded" alt="張三"></td> <td>張三</td> <td>♂</td> <td>18</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> <tr> <th scope="row">2</th> <td><img src="assets/img/icon-08.png" class="rounded" alt="李四"></td> <td>李四</td> <td>♀</td> <td>17</td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <button class="btn btn-danger btn-sm">刪除</button> </td> </tr> </tbody> </table> <ul class="pagination justify-content-center"> <li class="page-item"><a class="page-link" href="#">«</a></li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">»</a></li> </ul> </main> </body> </html>
3,下一步,將打印出來的數據呈如今頁面上(保留 tbody 中的一個tr ,刪除其餘的 tr , 經過循環遍歷將打印出來的數據 插入到 tr 中)bootstrap
<?php
$connection=mysqli_connect('127.0.0.1','root','123456','demo03');
if(!$connection){
exit('鏈接數據庫失敗');
}
$query= mysqli_query($connection,'select * from users;');
if(!$query){
exit('查詢失敗');
}
//while($row = mysqli_fetch_assoc($query)){
//var_dump($row);
// }
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>XXX管理系統</title>
<link rel="stylesheet" href="assets/css/bootstrap.css">
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="#">XXX管理系統</a>
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="index.html">用戶管理</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">商品管理</a>
</li>
</ul>
</nav>
<main class="container">
<h1 class="heading">用戶管理 <a class="btn btn-link btn-sm" href="add.php">添加</a></h1>
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>頭像</th>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
<th class="text-center" width="140">操做</th>
</tr>
</thead>
<tbody>
<?php while($row=mysqli_fetch_assoc($query)): ?>
<tr>
<th scope="row"><?php echo $row['id'] ?></th>
<td><img src="<?php echo $row['avatar']; ?>" alt="<?php echo $row['name'];?>"></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['gender']== 0 ? '♂': '♀'; ?></td>
<td><?php echo $row['birthday']; ?></td>
<td class="text-center">
<button class="btn btn-info btn-sm">編輯</button>
<button class="btn btn-info btn-danger">刪除</button>
</td>
</tr>
<?php endwhile ?>
</tbody>
</table>
<ul class="pagination justify-content-center">
<li class="page-item"><a class="page-link" href="#">«</a></li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">»</a></li>
</ul>
</main>
</body>
</html>
4,刪除功能實現瀏覽器
刪除是 a 標籤服務器
<?php $connection=mysqli_connect('127.0.0.1','root','123456','demo03'); if(!$connection){ exit('鏈接數據庫失敗'); } $query= mysqli_query($connection,'select * from users;'); if(!$query){ exit('查詢失敗'); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="index.html">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">用戶管理 <a class="btn btn-link btn-sm" href="add.php">添加</a></h1> <table class="table table-hover"> <thead> <tr> <th>#</th> <th>頭像</th> <th>姓名</th> <th>性別</th> <th>年齡</th> <th class="text-center" width="140">操做</th> </tr> </thead> <tbody> <?php while($row=mysqli_fetch_assoc($query)): ?> <tr> <th scope="row"><?php echo $row['id'] ?></th> <td><img src="<?php echo $row['avatar']; ?>" alt="<?php echo $row['name'];?>"></td> <td><?php echo $row['name']; ?></td> <td><?php echo $row['gender']== 0 ? '♂': '♀'; ?></td> <td><?php echo $row['birthday']; ?></td> <td class="text-center"> <button class="btn btn-info btn-sm">編輯</button> <a class="btn btn-danger btn-sm" href="delete.php? id=<?php echo $row['id']; ?>">刪除</a> </td> </tr> <?php endwhile ?> </tbody> </table> <ul class="pagination justify-content-center"> <li class="page-item"><a class="page-link" href="#">«</a></li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">»</a></li> </ul> </main> </body> </html>
delete.phppost
<?php //接收要刪除的數據 ID if(empty($_GET['id'])){ exit('必須傳入指定參數'); } $id=$_GET['id']; $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo03'); if(!$connection){ exit('鏈接數據庫失敗'); }
//$query=mysqli_query($connection,'delete from users where id in (1,2,3,4);); $query=mysqli_query($connection,'delete from users where id in ('. $id .' );'); //字符串拼接 if(!$query){ exit('查詢失敗'); } $rowsAffected=mysqli_affected_rows($connection); if($rowsAffected <= 0){ exit('刪除失敗'); } header('Location: list.php');
實際開發中,刪除功能沒有頁面
5,添加功能實現
添加頁面add.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">添加用戶</h1> <div class="alert alert-warning"></div> <form> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar"> </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender"> <option value="-1">請選擇性別</option> <option value="1">男</option> <option value="0">女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
2,添加功能邏輯
①把 index.php中的「添加」中的 a 標籤的 href 屬性值改成 "add.php"
②修改 add.php中表單 form 的屬性值, 以及其餘表單域 加 name 屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">添加用戶</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" , enctype="multipart/form-data" autocomplete="off"> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar" name="avatar"> </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" name="name"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender" name="gender"> <option value="-1">請選擇性別</option> <option value="1">男</option> <option value="0">女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday" name="birthday"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
不填數據,直接點擊保存按鈕,能夠經過瀏覽器的 NetWork 查看是否向服務器成功發送請求
③添加功能的php 腳本
Ⅰ,驗證非空
Ⅱ,取值
Ⅲ,接收文件並驗證
Ⅳ,保存
Ⅴ,響應
add.php
<?php if($_SERVER['REQUEST_METHOD']==='POST'){ add(); } function add(){ //驗證非空 if(empty($_POST['name'])){ $GLOBALS['error_message']='請輸入姓名'; return; } if( !( isset($_POST['gender']) && $_POST['gender'] !== '-1' ) ){ $GLOBALS['error_message'] = '請選擇性別'; return; } if(empty($_POST['birthday'])){ $GLOBALS['error_message']='請輸入日期'; return; } //取值 $name=$_POST['name']; $gender=$_POST['gender']; $birthday=$_POST['birthday']; //接收文件並驗證 if(empty($_FILES['avatar'])){ $GLOBALS['error_message']='請上傳頭像'; return; } $ext=pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION); //文件的擴展名,jpg $target= '../target/avatar-' . uniqid() . '.' . $ext; //字符串拼接 if(!move_uploaded_file($_FILES['avatar']['tmp_name'],$target)){ $GLOBALS['error_message']='上傳頭像失敗'; return; } //保存 $avatar=substr($target,2); var_dump($name); var_dump($gender); var_dump($birthday); var_dump($avatar); }
?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">添加用戶</h1> <div class="alert alert-warning"></div> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" , enctype="multipart/form-data" autocomplete="off"> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar" name="avatar"> </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" name="name"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender" name="gender"> <option value="-1">請選擇性別</option> <option value="1">男</option> <option value="0">女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday" name="birthday"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
③下一步,將打印出來的插入數據放在頁面中展現
<?php if($_SERVER['REQUEST_METHOD']==='POST'){ add(); } function add(){ //驗證非空 if(empty($_POST['name'])){ $GLOBALS['error_message']='請輸入姓名'; return; } if( !( isset($_POST['gender']) && $_POST['gender'] !== '-1' ) ){ $GLOBALS['error_message'] = '請選擇性別'; return; } if(empty($_POST['birthday'])){ $GLOBALS['error_message']='請輸入日期'; return; } //取值 $name=$_POST['name']; $gender=$_POST['gender']; $birthday=$_POST['birthday']; //接收文件並驗證 if(empty($_FILES['avatar'])){ $GLOBALS['error_message']='請上傳頭像'; return; } $ext=pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION); //文件的擴展名,jpg $target= '../target/avatar-' . uniqid() . '.' . $ext; //字符串拼接 if(!move_uploaded_file($_FILES['avatar']['tmp_name'],$target)){ $GLOBALS['error_message']='上傳頭像失敗'; return; } //保存 $avatar=substr($target,2); // var_dump($name); // var_dump($gender); // var_dump($birthday); // var_dump($avatar); //創建鏈接,開始查詢,響應 $connection=mysqli_connect('127.0.0.1','root','123456','demo03'); if(!$connection){ //exit='鏈接數據庫失敗'; $GLOBALS['error_message']='鏈接數據庫失敗'; return; } $query = mysqli_query($connection, "insert into users values (null, '{$name}', {$gender}, '{$birthday}', '{$avatar}'); "); if(!$query){ //exit='查詢過程失敗'; $GLOBALS['error_message'] ='查詢過程失敗'; return; } $rowsAffected=mysqli_affected_rows($connection); if($rowsAffected !==1){ //exit='添加數據失敗'; $GLOBALS['error_message']='添加數據失敗'; return; } //響應 header('Location: list.php'); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">添加用戶</h1> <?php if(isset($error_message)): ?> <div class="alert alert-warning"> <?php echo $error_message; ?> </div> <?php endif ?> <div class="alert alert-warning"></div> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" , enctype="multipart/form-data" autocomplete="off"> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar" name="avatar"> </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" name="name"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender" name="gender"> <option value="-1">請選擇性別</option> <option value="1">男</option> <option value="0">女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday" name="birthday"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
一個bug,上傳本機圖片做爲頭像沒法呈現出來(應該問題出在當時設置頭像路徑的時候出現錯誤,以後添加上傳的頭像路徑和以前的頭像路徑不一致)
6,編輯功能實現
①編輯功能的頁面和添加功能的頁面是同樣的
先將 list.php中的 「編輯」改爲 a 連接 並添加 href 屬性
<a class="btn btn-info btn-sm" href="edit.php">編輯</a>
而後寫出編輯頁面 exit.html (和add.html)頁面相同
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">編輯lisa</h1> <?php if(isset($error_message)): ?> <div class="alert alert-warning"> <?php echo $error_message; ?> </div> <?php endif ?> <div class="alert alert-warning"></div> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" , enctype="multipart/form-data" autocomplete="off"> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar" name="avatar"> </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" name="name"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender" name="gender"> <option value="-1">請選擇性別</option> <option value="1">男</option> <option value="0">女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday" name="birthday"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
在 edit.html中添加 php 腳本
edit.php
<?php //接收要修改的數據 if(empty($_GET['id'])){ exit('必須傳入指定參數'); } $id = $_GET['id']; //創建鏈接,開始查詢 $connection=mysqli_connect('127.0.0.1','root' , '123456' , 'demo03'); if(!$connection){ exit('鏈接數據庫失敗'); } $query=mysqli_query($connection, "select * from users where id= {$id} limit 1;");//由於ID是惟一的,那麼找到第一個知足條件的就不用再繼續了, limit 1 if(!$query){ exit('查詢數據失敗'); } $row = mysqli_fetch_assoc($query); if(!$row){ exit('找不到要編輯的數據'); } ?>
最終編輯功能的 edit.php
<?php //接收要修改的數據 if(empty($_GET['id'])){ exit('必須傳入指定參數'); } $id = $_GET['id']; //創建鏈接,開始查詢 $connection=mysqli_connect('127.0.0.1','root' , '123456' , 'demo03'); if(!$connection){ exit('鏈接數據庫失敗'); } $query=mysqli_query($connection, "select * from users where id= {$id} limit 1;");//由於ID是惟一的,那麼找到第一個知足條件的就不用再繼續了, limit 1 if(!$query){ exit('查詢數據失敗'); } $row = mysqli_fetch_assoc($query); if(!$row){ exit('找不到要編輯的數據'); } if ($_SERVER['REQUEST_METHOD'] === 'POST') { edit(); } function edit(){ global $row; if(empty($_POST['name'])){ $GLOBALS['error_message']='請輸入姓名'; return; } if(!(isset($_POST['gender']) && $_POST['gender'] !== '-1')) { $GLOBALS['error_message'] = '請選擇性別'; return; } if (empty($_POST['birthday'])) { $GLOBALS['error_message'] = '請輸入日期'; return; } //取值 $row['name'] = $_POST['name']; $row['gender'] = $_POST['gender']; $row['birthday'] = $_POST['birthday']; //有上傳就修改 if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) { // 用戶上傳了新頭像 -> 用戶但願修改頭像 $ext = pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION); $target = 'D:/www/site6/code/demo/target/avatar-' . uniqid() . '.' . $ext; if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $target)) { $GLOBALS['error_message'] = '上傳頭像失敗'; return; } $row['avatar'] = substr($target, 2); } //打印出修改以後的信息 var_dump($row); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XXX管理系統</title> <link rel="stylesheet" href="assets/css/bootstrap.css"> <link rel="stylesheet" href="assets/css/style.css"> </head> <body> <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">XXX管理系統</a> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="index.html">用戶管理</a> </li> <li class="nav-item"> <a class="nav-link" href="#">商品管理</a> </li> </ul> </nav> <main class="container"> <h1 class="heading">編輯「<?php echo $row['name']; ?>」</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $row['id']; ?>" method="post" enctype="multipart/form-data"> <img src="<?php echo $row['avatar]; ?>" alt=""> <div class="form-group"> <label for="avatar">頭像</label> <input type="file" class="form-control" id="avatar" name="avatar"> //文件域不能設置默認值 </div> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" name="name" value="<?php echo $row[''name]; ?>"> </div> <div class="form-group"> <label for="gender">性別</label> <select class="form-control" id="gender" name="gender"> <option value="-1">請選擇性別</option> <option value="1"<?php echo $row['gender'] === '1' ? ' selected': ''; ?>>男</option> <option value="0"<?php echo $row['gender'] === '0' ? ' selected': ''; ?>>女</option> </select> </div> <div class="form-group"> <label for="birthday">生日</label> <input type="date" class="form-control" id="birthday" name="birthday" value="<?php echo $row['birthday'];?>"> </div> <button class="btn btn-primary">保存</button> </form> </main> </body> </html>
7,這個案例的 bug
①頁面展現成功
②刪除功能成功實現
③添加功能能夠操做,可是頭像上傳不能呈現
④編輯功能有問題,報錯