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

这篇具有很好参考价值的文章主要介绍了PHP+MySQL制作简单动态网站(附详细注释+源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目介绍

项目名称:图书管理系统

项目实现的内容:

1.用户登录、用户注册、登录界面验证码功能。

2.退出登录功能、内容查看、内容添加、内容修改。

前端页面设计得有点可能不太专业,将就着用。主要专注在功能的实现。

 内容页

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

添加内容

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

删除内容

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

 修改内容

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

 具体实现步骤

根目录布置: 

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

 1.登录界面实现

具体步骤参照文章:

PHP+MySQL制作简单的用户注册登录界面(注释超详细~附源代码)_Tsing X的博客-CSDN博客

2.内容页实现

*注意,请完成登录界面后再进行后续操作

 1.1创建index.html

用于显示内容页

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统</title>
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<div class="box">
	<div class="top">
		<div class="title">图书管理系统</div>
		<div class="nav">
			<a href="../add.php">添加图书</a>
			<a href="../logout.php">退出登录</a>
		</div>
	</div>
	<div class="main">
		<table class="lib-list">
			<tr>
				<th>书名</th>
				<th width="200">作者</th>
				<th width="200">国家</th>
				<th width="200">图书编号</th>
				<th width="250">入库时间</th>
				<th width="200">操作</th>
			</tr>	
				<?php foreach($data as $v): ?>
					<tr>
						
						<td class="lib-title">
							<a href="../show.php?id=<?php echo $v['id'];?>"><?php echo $v['title'];?></a>
						</td>
						<td class="center"><?php echo $v['author'];?></td>
						<td class="center"><?php echo $v['country'];?></td>
						<td class="center"><?php echo $v['id'];?></td>
						<td class="center"><?php echo $v['addtime'];?></td>
						<td class="center">
							<a href="../edit.php?id=<?php echo $v['id'];?>">编辑</a> 
							<a href="../del.php?id=<?php echo $v['id'];?>" onclick="return confirm('确定删除?');" >删除</a> 
						</td>
					</tr>
				<?php endforeach;?>
		</table>
	</div>
</div>
</body>
</html>

1.2创建index.php关联index.html

实现对内容数据的获取,执行数据的查询操作

<?php
//主页
require './init_login.php';//验证是否有登录
require 'info_db_connect.php';//连接数据库
$sql='select id,title,author,country,addtime from info order by id asc';

//执行查询语句,查询结果集存储在对象$stmt中
$stmt = $pdo->query($sql);

//从stmt中取出查询结果,并保存在$data中
$data=$stmt->fetchAll(PDO::FETCH_ASSOC);

require './view/index.html';
?>

2.1创建info_db_connect.php

用于连接数据库

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

3.1创建add.html

添加内容的界面实现过程

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统</title>
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<div class="box">
	<div class="top">
		<div class="title">图书管理系统</div>
		<div class="nav">
			<a href="index.php">返回</a>
		</div>
	</div>
	<div class="main">
		<form action="../add.php" method="post">
			<table class="lib-edit">
				<tr>
					<th>图书名称:</th>
					<td><input type="text" name="title" placeholder="填写图书标题..." /></td>
				</tr>
				<tr>
				<tr>
					<th>作者姓名:</th>
					<td><input type="text" name="author" placeholder="填写作者名..." /></td>
				</tr>
				<tr>
					<th>作者国籍:</th>
					<td><input type="text" name="country" placeholder="填写作者国籍..." /></td>
				</tr>
				<tr>
					<th>图书简介:</th>
					<td><textarea name="content" placeholder="填写图书简介..."></textarea></td>
				</tr>
				<tr>
					<th></th>
					<td><input type="submit" value="提交入库登记" /></td>
				</tr>
			</table>
		</form>
	</div>
</div>
</body>
</html>

3.2创建add.php关联add.html

在验证用户为登录状态后,执行数据的插入工作

<?php
require './init_login.php';//验证是否有登录
if (!empty($_POST)){//用户提交了表单
    //获取表单中输入的数据
    $data = array();//用于存储表单中输入的数据的数组
    $data['title']=trim(htmlspecialchars($_POST['title']));//存储书名
    $data['author']=trim(htmlspecialchars($_POST['author']));//存储作者名
    $data['country']=trim(htmlspecialchars($_POST['country']));//存储国籍
    $data['content']=trim(htmlspecialchars($_POST['content']));//存储简介
    //连接数据库
    require 'info_db_connect.php';
    $sql='insert into info(title,author,country,content) values(:title,:author,:country,:content)';
    $stmt=$pdo->prepare($sql);//预编译sql语句
    $stmt->execute($data);//执行插入数据的sql语句
    header('Location:./index.php');//重定向到主页面
}

require './view/add.html';

4.1创建edit.html

编辑界面实现过程

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统</title>
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<div class="box">
	<div class="top">
		<div class="title">图书管理系统</div>
		<div class="nav">
			<a href='index.php'>返回</a>
		</div>
	</div>
	<div class="main">
		<form method="post">
			<table class="lib-edit">
				<tr>
					<th>图书名称:</th>
					<td><input type="text" name="title" value="<?php echo $data['title'];?>"/></td>
				</tr>
				<tr>
					<th>作者姓名:</th>
					<td><input type="text" name="author" value="<?php echo $data['author'];?>"/></td>
				</tr>
				<tr>
					<th>作者国籍:</th>
					<td><input type="text" name="country" value="<?php echo $data['country'];?>"/></td>
				</tr>
				<tr>
					<th>图书简介:</th>
					<td><textarea name="content"><?php echo $data['content'];?></textarea></td>
				</tr>
				<tr>
					<th></th>
					<td><input type="submit" value="提交修改" /></td>
				</tr>
			</table>
		</form>
	</div>
</div>
</body>
</html>

4.2创建edit.php,关联edit.html

在验证完用户为登录状态后,执行修改数据库的相关操作

<?php
//用于编辑内容
require './init_login.php';//验证是否有登录
require 'info_db_connect.php';//连接数据库
$id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
$data=array('id'=>$id);//将id值放到data数组中

$sql='select title,author,country,content,addtime from info where id=:id';//:id占位符
$stmt=$pdo->prepare($sql);//对于查询语句进行编译PDOStatement对象
if (!$stmt->execute($data)){//执行查询语句
    exit('查询失败'.implode(' ', $stmt->errorInfo()));//输出查询失败原因
}
$data = $stmt->fetch(PDO::FETCH_ASSOC);//将查询结果存储在数组data中
if(empty($data)){
    echo ('新闻id不存在');
}

//数据修改
if (!empty($_POST)){
//         var_dump($data);
        $id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
        $data=array('id'=>$id);//将id值放到data数组中
        $data = array();//用于存储表单中输入的数据的数组
        $data=array('id'=>$id);//将id值放到data数组中
        $data['title']=trim(htmlspecialchars($_POST['title']));//存储图书名称
        $data['author']=trim(htmlspecialchars($_POST['author']));//存储作者名
        $data['country']=trim(htmlspecialchars($_POST['country']));//存储国家名称
        $data['content']=trim(htmlspecialchars($_POST['content']));//存储图书简介
//         print_r($data);
        //将数据写入到数据库中(update)
        $sql='update `info` set title=:title,author=:author,country=:country,content=:content where id=:id';
        $stmt=$pdo->prepare($sql);//预编译sql语句
        $stmt->execute($data);//执行插入数据的sql语句
}

require './view/edit.html';



5.创建del.php

用于实现删除内容的操作,通过get值准确定位到要执行操作的数据

<?php
//用于删除内容
require './init_login.php';//验证是否有登录
require 'info_db_connect.php';//连接数据库

$id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
$data=array('id'=>$id);//将id值放到data数组中
//删除数据的sql语句
$sql='delete from info where id=:id';
//预处理
$stmt=$pdo->prepare($sql);

//执行sql语句
if (!$stmt->execute($data)){
    exit('删除失败'.implode('-', $stmt->errorInfo()));
}
//重定向到主页面
header('Location:index.php');

6.1创建show.html

用于实现展示详细内容的功能

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统</title>
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<div class="box">
	<div class="top">
		<div class="title">图书管理系统</div>
		<div class="nav">
			<a href="index.php">返回</a>
		</div>
	</div>
	<div class="main">
		<div class="lib-title"><?php echo $data['title']?></div>
		<div class="lib-time">【<?php echo $data['country'];?>】 <?php echo $data['author'];?></div>
		<div class="lib-time">入库时间:<?php echo $data['addtime'];?> 编号:<?php echo $data['id'];?></div>
		<div class="lib-content"><?php echo $data['content']?></div>
	</div>
</div>
</body>
</html>

6.2创建show.php关联show.html

执行的操作有连接数据库,查询数据,对传参进行判断。

<?php
//内容详情页
require './init_login.php';//判断是否登录
require 'info_db_connect.php';//连接数据库

$id=isset($_GET['id'])?(int)$_GET['id']:0;//获取get传参id值
$data=array('id'=>$id);//将id值放到data数组中

$sql='select id,title,content,author,country,addtime from info where id=:id';//:id占位符
$stmt=$pdo->prepare($sql);//对于查询语句进行编译PDOStatement对象
if (!$stmt->execute($data)){//执行查询语句
    exit('查询失败'.implode(' ', $stmt->errorInfo()));//输出查询失败原因
}
$data = $stmt->fetch(PDO::FETCH_ASSOC);//将查询结果存储在数组data中
if(empty($data)){
    echo ('编号不存在');
}


require './view/show.html';

7.创建init_login.php

用于判断用户是否登录,若未登录则跳转登录界面,提升网站安全性

<?php
//验证是否有登录,无登录则跳转登录界面
//启动session
session_start();
if (!isset($_SESSION['username'])){
    header('Location:login.php');
    exit;
}

8.创建logout.php

依靠关闭session来实现退出登录的功能。

<?php
//用于退出登录
session_start();
//删除session
unset($_SESSION['username']);
//跳转登录界面
header('location:login.php');

*注意:篇幅有限,具体详见源代码,仅供学习参考,转载请注明出处。感谢支持

源代码下载:

https://pan.quark.cn/s/7223b1e8b27a
提取码:SVw5

 文章来源地址https://www.toymoban.com/news/detail-484078.html

到了这里,关于PHP+MySQL制作简单动态网站(附详细注释+源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 制作一个简单HTML校园网页(HTML+CSS)学校网站制作 校园网站设计与实现

    制作一个简单HTML校园网页(HTML+CSS)学校网站制作 校园网站设计与实现

    🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作

    2024年01月16日
    浏览(27)
  • 企业网站源码PHP附企业小程序源码

    时间不会为任何人停留,企业网站开发也不例外。随着时代的变化,趋势也在不断变化,品牌的数字化形象现在比以往任何时候都更加重要。重点已转向移动;但是,网站开发同样重要。 企业网站源码技术选型 演示:m.jcedus.top 核心框架:Nutz、Nutzboot 扩展功能:nutz-plugins-s

    2024年02月13日
    浏览(16)
  • python喜马拉雅爬虫简单实现(超详细注释)

    没啥就是闲着,爬了爬盗墓笔记 值得注意的是,我发现喜马拉雅的资源地址不是固定的。也就是说上面代码里的网页资源地址需要重新获取。 

    2024年02月19日
    浏览(11)
  • 基于php的外卖订餐网站(php+mysql)

    一个基于php的外卖订餐网站,包括前端和后台。 http://101.43.124.118:8001/admin https://github.com/geeeeeeeek/dingfanzu htaccess Rewrite配置文件,需要放入到项目根目录 configs.php 需要配置数据库连接信息(主机、用户名、密码),系统常量,debug模式等 data.sql 位于data目录中,是数据库备份文

    2024年02月08日
    浏览(13)
  • Qt之QtDataVisualization各三维图表的简单使用(含源码+注释)

    Qt之QtDataVisualization各三维图表的简单使用(含源码+注释)

    下图演示了通过下拉列表框切换三维图表的操作。 下图演示了自动切换、通过spinBox控件切换和slider控件的缩放功能(三维图表自带有鼠标滚轮缩放功能)。 下图演示了主题奇幻,系列样式切换,选择模式切换的效果 下图演示了显示背景、显示网格、显示倒影和二维显示等功

    2024年01月16日
    浏览(12)
  • 如何训练一个简单的stable diffusion模型(附详细注释)

    如何训练一个简单的stable diffusion模型(附详细注释)

    注:代码来自https://github.com/darcula1993/diffusion-models-class-CN/blob/main/unit1/01_introduction_to_diffusers_CN.ipynb  本文是本人学习后的的尝试以及注解 显示下图则登陆成功: 结果如下图所示: 我们的训练计划是,取出这些输入图片然后对它们增添噪声,在这之后把带噪的图片送入模型。

    2024年02月03日
    浏览(11)
  • Linux网站搭建(nginx+php+mysql)

    Linux网站搭建(nginx+php+mysql)

    目录 nginx 安装nginx服务器依赖环境 源码安装和yum安装的区别 源码安装 源码安装三步走: php 下载 安装所有扩展:(php运行所需要的环境) 编辑/etc/php.ini 开启php-fpm 在html下创建index.php,看一下是否可以网页中访问得到它 编辑nginx配置文件 重启服务 mysql 安装mysql mysql的使用

    2024年02月01日
    浏览(12)
  • PHP大型企业人才招聘网站源码带文字安装教程

    PHP大型企业人才招聘网站源码带文字安装教程

    PHP大型企业人才招聘网站源码带文字安装教程 运行环境 服务器宝塔面板 PHP 5.6 Mysql 5.5及以上版本 Linux Centos7以上 功能说明: 会员模块包括企业管理、职位管理、名企管理、企业认证审核、 企业设置。内容模块包括新闻管理、新闻类别、新闻属性、添加新闻。 运营模块包括

    2024年02月02日
    浏览(14)
  • 号卡推广管理系统源码/手机流量卡推广网站源码/PHP源码+带后台版本+分销系统

    号卡推广管理系统源码/手机流量卡推广网站源码/PHP源码+带后台版本+分销系统

    号卡推广管理系统源码/手机流量卡推广网站源码,基于PHP源码,而且它是带后台版本,分销系统。运用全新UI流量卡官网系统源码+有后台带文章。 这个流量卡销售网站源码,PHP流量卡分销系统,它可以支持开通分站。流量卡分销系统是一款基于PHP+MYSQL搭建的。 适合做号卡代

    2024年02月04日
    浏览(14)
  • 最新壁纸自动采集系统网站PHP源码/360壁纸官方数据接口采集/ZHEYI采集源码

    最新壁纸自动采集系统网站PHP源码/360壁纸官方数据接口采集/ZHEYI采集源码

    源码介绍: 最新壁纸自动采集系统网站PHP源码,它是ZHEYI自动采集源码,能够在360壁纸官方数据接口采集。很好用的壁纸网站源码分享,仅供学习,请勿商用。 ZHEYI自动采集壁纸PHP源码,能全自动采集高清壁纸网源码。它是是一个基于360壁纸官方数据接口的PHP网站源码,通过

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包