PHP+MySQL制作简单动态网站(附具体注释+源码)

打印 上一主题 下一主题

主题 677|帖子 677|积分 2031

项目先容

项目名称:图书管理系统
项目实现的内容:
1.用户登录、用户注册、登录界面验证码功能。
2.退出登录功能、内容查看、内容添加、内容修改。
前端页面计划得有点可能不太专业,将就着用。重要专注在功能的实现。
 内容页

添加内容

删除内容

 修改内容

 具体实现步骤

根目录布置: 


 1.登录界面实现

具体步骤参照文章:
PHP+MySQL制作简单的用户注册登录界面(注释超具体~附源代码)_Tsing X的博客-CSDN博客
2.内容页实现

*注意,请完成登录界面后再举行后续利用
 1.1创建index.html

用于体现内容页
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>图书管理系统</title>
  6. <link rel="stylesheet" href="../css/style.css"/>
  7. </head>
  8. <body>
  9. <div class="box">
  10.         <div class="top">
  11.                 <div class="title">图书管理系统</div>
  12.                 <div class="nav">
  13.                         <a href="../add.php">添加图书</a>
  14.                         <a href="../logout.php">退出登录</a>
  15.                 </div>
  16.         </div>
  17.         <div class="main">
  18.                 <table class="lib-list">
  19.                         <tr>
  20.                                 <th>书名</th>
  21.                                 <th width="200">作者</th>
  22.                                 <th width="200">国家</th>
  23.                                 <th width="200">图书编号</th>
  24.                                 <th width="250">入库时间</th>
  25.                                 <th width="200">操作</th>
  26.                         </tr>       
  27.                                 <?php foreach($data as $v): ?>
  28.                                         <tr>
  29.                                                
  30.                                                 <td class="lib-title">
  31.                                                         <a href="../show.php?id=<?php echo $v['id'];?>"><?php echo $v['title'];?></a>
  32.                                                 </td>
  33.                                                 <td class="center"><?php echo $v['author'];?></td>
  34.                                                 <td class="center"><?php echo $v['country'];?></td>
  35.                                                 <td class="center"><?php echo $v['id'];?></td>
  36.                                                 <td class="center"><?php echo $v['addtime'];?></td>
  37.                                                 <td class="center">
  38.                                                         <a href="../edit.php?id=<?php echo $v['id'];?>">编辑</a>
  39.                                                         <a href="../del.php?id=<?php echo $v['id'];?>" onclick="return confirm('确定删除?');" >删除</a>
  40.                                                 </td>
  41.                                         </tr>
  42.                                 <?php endforeach;?>
  43.                 </table>
  44.         </div>
  45. </div>
  46. </body>
  47. </html>
复制代码
1.2创建index.php关联index.html

实现对内容数据的获取,实行数据的查询利用
  1. <?php
  2. //主页
  3. require './init_login.php';//验证是否有登录
  4. require 'info_db_connect.php';//连接数据库
  5. $sql='select id,title,author,country,addtime from info order by id asc';
  6. //执行查询语句,查询结果集存储在对象$stmt中
  7. $stmt = $pdo->query($sql);
  8. //从stmt中取出查询结果,并保存在$data中
  9. $data=$stmt->fetchAll(PDO::FETCH_ASSOC);
  10. require './view/index.html';
  11. ?>
复制代码
2.1创建info_db_connect.php

用于连接数据库
  1. <?php
  2. //用于管理界面的数据库的连接
  3. //设置DSN数据源
  4. $dsn = 'mysql:host=localhost;dbname=LMS;charset=utf8';//注意,此处的LMS为自定义的数据库名,你创建什么数据库名就将LMS改成它就行了
  5. //连接数据库
  6. try {
  7.     $pdo = new PDO($dsn,'root','Huawei@123');//通过pdo连接数据源,此处root为MySQl的登录用户名,其后是登录密码
  8. }catch (PDOException $e){
  9.     echo 'error--'.$e->getMessage();
  10. }
复制代码
3.1创建add.html

添加内容的界面实现过程
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>图书管理系统</title>
  6. <link rel="stylesheet" href="../css/style.css"/>
  7. </head>
  8. <body>
  9. <div class="box">
  10.         <div class="top">
  11.                 <div class="title">图书管理系统</div>
  12.                 <div class="nav">
  13.                         <a href="index.php">返回</a>
  14.                 </div>
  15.         </div>
  16.         <div class="main">
  17.                 <form action="../add.php" method="post">
  18.                         <table class="lib-edit">
  19.                                 <tr>
  20.                                         <th>图书名称:</th>
  21.                                         <td><input type="text" name="title" placeholder="填写图书标题..." /></td>
  22.                                 </tr>
  23.                                 <tr>
  24.                                 <tr>
  25.                                         <th>作者姓名:</th>
  26.                                         <td><input type="text" name="author" placeholder="填写作者名..." /></td>
  27.                                 </tr>
  28.                                 <tr>
  29.                                         <th>作者国籍:</th>
  30.                                         <td><input type="text" name="country" placeholder="填写作者国籍..." /></td>
  31.                                 </tr>
  32.                                 <tr>
  33.                                         <th>图书简介:</th>
  34.                                         <td><textarea name="content" placeholder="填写图书简介..."></textarea></td>
  35.                                 </tr>
  36.                                 <tr>
  37.                                         <th></th>
  38.                                         <td><input type="submit" value="提交入库登记" /></td>
  39.                                 </tr>
  40.                         </table>
  41.                 </form>
  42.         </div>
  43. </div>
  44. </body>
  45. </html>
复制代码
3.2创建add.php关联add.html

在验证用户为登录状态后,实行数据的插入工作
  1. <?php
  2. require './init_login.php';//验证是否有登录
  3. if (!empty($_POST)){//用户提交了表单
  4.     //获取表单中输入的数据
  5.     $data = array();//用于存储表单中输入的数据的数组
  6.     $data['title']=trim(htmlspecialchars($_POST['title']));//存储书名
  7.     $data['author']=trim(htmlspecialchars($_POST['author']));//存储作者名
  8.     $data['country']=trim(htmlspecialchars($_POST['country']));//存储国籍
  9.     $data['content']=trim(htmlspecialchars($_POST['content']));//存储简介
  10.     //连接数据库
  11.     require 'info_db_connect.php';
  12.     $sql='insert into info(title,author,country,content) values(:title,:author,:country,:content)';
  13.     $stmt=$pdo->prepare($sql);//预编译sql语句
  14.     $stmt->execute($data);//执行插入数据的sql语句
  15.     header('Location:./index.php');//重定向到主页面
  16. }
  17. require './view/add.html';
复制代码
4.1创建edit.html

编辑界面实现过程
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>图书管理系统</title>
  6. <link rel="stylesheet" href="../css/style.css"/>
  7. </head>
  8. <body>
  9. <div class="box">
  10.         <div class="top">
  11.                 <div class="title">图书管理系统</div>
  12.                 <div class="nav">
  13.                         <a href='index.php'>返回</a>
  14.                 </div>
  15.         </div>
  16.         <div class="main">
  17.                 <form method="post">
  18.                         <table class="lib-edit">
  19.                                 <tr>
  20.                                         <th>图书名称:</th>
  21.                                         <td><input type="text" name="title" value="<?php echo $data['title'];?>"/></td>
  22.                                 </tr>
  23.                                 <tr>
  24.                                         <th>作者姓名:</th>
  25.                                         <td><input type="text" name="author" value="<?php echo $data['author'];?>"/></td>
  26.                                 </tr>
  27.                                 <tr>
  28.                                         <th>作者国籍:</th>
  29.                                         <td><input type="text" name="country" value="<?php echo $data['country'];?>"/></td>
  30.                                 </tr>
  31.                                 <tr>
  32.                                         <th>图书简介:</th>
  33.                                         <td><textarea name="content"><?php echo $data['content'];?></textarea></td>
  34.                                 </tr>
  35.                                 <tr>
  36.                                         <th></th>
  37.                                         <td><input type="submit" value="提交修改" /></td>
  38.                                 </tr>
  39.                         </table>
  40.                 </form>
  41.         </div>
  42. </div>
  43. </body>
  44. </html>
复制代码
4.2创建edit.php,关联edit.html

在验证完用户为登录状态后,实行修改数据库的相干利用
  1. <?php
  2. //用于编辑内容
  3. require './init_login.php';//验证是否有登录
  4. require 'info_db_connect.php';//连接数据库
  5. $id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
  6. $data=array('id'=>$id);//将id值放到data数组中
  7. $sql='select title,author,country,content,addtime from info where id=:id';//:id占位符
  8. $stmt=$pdo->prepare($sql);//对于查询语句进行编译PDOStatement对象
  9. if (!$stmt->execute($data)){//执行查询语句
  10.     exit('查询失败'.implode(' ', $stmt->errorInfo()));//输出查询失败原因
  11. }
  12. $data = $stmt->fetch(PDO::FETCH_ASSOC);//将查询结果存储在数组data中
  13. if(empty($data)){
  14.     echo ('新闻id不存在');
  15. }
  16. //数据修改
  17. if (!empty($_POST)){
  18. //         var_dump($data);
  19.         $id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
  20.         $data=array('id'=>$id);//将id值放到data数组中
  21.         $data = array();//用于存储表单中输入的数据的数组
  22.         $data=array('id'=>$id);//将id值放到data数组中
  23.         $data['title']=trim(htmlspecialchars($_POST['title']));//存储图书名称
  24.         $data['author']=trim(htmlspecialchars($_POST['author']));//存储作者名
  25.         $data['country']=trim(htmlspecialchars($_POST['country']));//存储国家名称
  26.         $data['content']=trim(htmlspecialchars($_POST['content']));//存储图书简介
  27. //         print_r($data);
  28.         //将数据写入到数据库中(update)
  29.         $sql='update `info` set title=:title,author=:author,country=:country,content=:content where id=:id';
  30.         $stmt=$pdo->prepare($sql);//预编译sql语句
  31.         $stmt->execute($data);//执行插入数据的sql语句
  32. }
  33. require './view/edit.html';
复制代码
5.创建del.php

用于实现删除内容的利用,通过get值准确定位到要实行利用的数据
  1. <?php
  2. //用于删除内容
  3. require './init_login.php';//验证是否有登录
  4. require 'info_db_connect.php';//连接数据库
  5. $id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
  6. $data=array('id'=>$id);//将id值放到data数组中
  7. //删除数据的sql语句
  8. $sql='delete from info where id=:id';
  9. //预处理
  10. $stmt=$pdo->prepare($sql);
  11. //执行sql语句
  12. if (!$stmt->execute($data)){
  13.     exit('删除失败'.implode('-', $stmt->errorInfo()));
  14. }
  15. //重定向到主页面
  16. header('Location:index.php');
复制代码
6.1创建show.html

用于实现展示具体内容的功能
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>图书管理系统</title>
  6. <link rel="stylesheet" href="../css/style.css"/>
  7. </head>
  8. <body>
  9. <div class="box">
  10.         <div class="top">
  11.                 <div class="title">图书管理系统</div>
  12.                 <div class="nav">
  13.                         <a href="index.php">返回</a>
  14.                 </div>
  15.         </div>
  16.         <div class="main">
  17.                 <div class="lib-title"><?php echo $data['title']?></div>
  18.                 <div class="lib-time">【<?php echo $data['country'];?>】 <?php echo $data['author'];?></div>
  19.                 <div class="lib-time">入库时间:<?php echo $data['addtime'];?> 编号:<?php echo $data['id'];?></div>
  20.                 <div class="lib-content"><?php echo $data['content']?></div>
  21.         </div>
  22. </div>
  23. </body>
  24. </html>
复制代码
6.2创建show.php关联show.html

实行的利用有连接数据库,查询数据,对传参举行判断。
  1. <?php
  2. //内容详情页
  3. require './init_login.php';//判断是否登录
  4. require 'info_db_connect.php';//连接数据库
  5. $id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
  6. $data=array('id'=>$id);//将id值放到data数组中
  7. $sql='select id,title,content,author,country,addtime from info where id=:id';//:id占位符
  8. $stmt=$pdo->prepare($sql);//对于查询语句进行编译PDOStatement对象
  9. if (!$stmt->execute($data)){//执行查询语句
  10.     exit('查询失败'.implode(' ', $stmt->errorInfo()));//输出查询失败原因
  11. }
  12. $data = $stmt->fetch(PDO::FETCH_ASSOC);//将查询结果存储在数组data中
  13. if(empty($data)){
  14.     echo ('编号不存在');
  15. }
  16. require './view/show.html';
复制代码
7.创建init_login.php

用于判断用户是否登录,若未登录则跳转登录界面,提拔网站安全性
  1. <?php
  2. //验证是否有登录,无登录则跳转登录界面
  3. //启动session
  4. session_start();
  5. if (!isset($_SESSION['username'])){
  6.     header('Location:login.php');
  7.     exit;
  8. }
复制代码
8.创建logout.php

依靠关闭session来实现退出登录的功能。
  1. <?php
  2. //用于退出登录
  3. session_start();
  4. //删除session
  5. unset($_SESSION['username']);
  6. //跳转登录界面
  7. header('location:login.php');
复制代码
*注意:篇幅有限,具体详见源代码,仅供学习参考,转载请注明出处。感谢支持。
源代码下载:
https://pan.quark.cn/s/7223b1e8b27a
提取码:SVw5

 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表