【SQL】简单博客开发代码

前几天做到一些CMS的题,涉及一些sql的代码审计,于是尝试着自己开发一个连接数据库的博客,加深一遍理解

简单实现了登录,验证,登出,目录,增删改查等功能

下面贴代码

conn.php

<?phpsession_start();$username = "root";
$password = "root";$port = 3306;
$host = "localhost";
$db = "blog";$conn = new mysqli($host,$username,$password,$db,$port);if($conn->connect_error){die("数据库连接失败".$conn->connect_error);
}

check.php

<?phpif($_SESSION['login']!=1){header("location:login.html");
}

 index.php

<?phpheader("location:main.php");?>

index.html 

<!DOCTYPE html>
<html><head><title>博客系统登陆</title><meta charset="utf-8"></head><body><center><br><h1>博客系统管理员登陆</h1><hr><form action="login.php" enctype="application/x-www-form-urlencoded" method="post">账号<input type="text" name="username">  <br>  <br>密码<input type="password" name="password">  <br>  <br><input type="submit" value="登陆"></form></center></body>
</html>

login.php 

<?phprequire "conn.php";$username = $_POST['username'];
$password = $_POST['password'];$sql = "select * from user where username = '$username' and password = '$password'";$result = $conn->query($sql);if(!$result){die("查询失败");
}if($row=$result->fetch_array()){$_SESSION['login']=1;echo "登陆成功,欢迎你".$row['username'];
}else{echo "登陆失败";
}$conn->close();?><!DOCTYPE html>
<html><head><title>博客首页</title><meta charset="utf-8"></head><body><center><br><h1>博客首页</h1><hr><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a></center></body>
</html>

logout.php

<?phpsession_start();$_SESSION['login']=0;session_destroy();header("location:main.php");

 main.php

<!DOCTYPE html>
<html><head><title>博客首页</title><meta charset="utf-8"></head><body><center><br><h1>博客首页</h1><hr><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a></center></body>
</html>

 page_add.php

<?phprequire "conn.php";
require "check.php";$title=$_POST['title'];
$content=$_POST['content'];if(isset($title) && isset($content)){$sql = "insert into page (title,content) values('$title','$content')";$result = $conn->query($sql);if($result){echo "文章新增成功";}else{echo "文章新增失败".$conn->error;}
}?><!DOCTYPE html>
<html><head><title>新增文章</title><meta charset="utf-8"></head><body><center><br><h1>新增文章</h1><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a><a href="logout.php">退出系统</a><hr><form action="page_add.php" enctype="application/x-www-form-urlencoded" method="post">标题<input type="text" name="title">  <br>  <br>内容<input type="text" name="content">  <br>  <br><input type="submit" value="录入文章"></form></center></body>
</html>

page_delete.php

<?phprequire "conn.php";
require "check.php";$id=$_GET['id'];if(isset($id) ){$sql = "delete from page where id =$id";$result = $conn->query($sql);if($result){echo "文章删除成功";}else{echo "文章删除失败".$conn->error;}
}$conn->close();?><!DOCTYPE html>
<html><head><title>博客首页</title><meta charset="utf-8"></head><body><center><br><h1>博客首页</h1><hr><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a><a href="logout.php">退出系统</a></center></body>
</html>

 page_detail.php

<?phprequire "conn.php";$id= $_GET['id'];$id=$id?$id:1;$sql = "select id,title,content from page where id = '$id'";
echo $sql;$result = $conn->query($sql);$page = $result->fetch_array();?><!DOCTYPE html>
<html><head><title>我的博客</title><meta charset="utf-8"></head><body><center><br><h1><?=$page['title'];?></h1><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a><hr><p><?=$page['content'];?></p></center></body>
</html><?php$conn->close();
?>

page_ edit.php

<?phprequire "conn.php";
require "check.php";$title=$_POST['title'];
$content=$_POST['content'];
$id=$_POST['id'];if(isset($title) && isset($content)){$sql = "update  page set title = '$title',content = '$content' where id =$id";$result = $conn->query($sql);if($result){echo "文章修改成功";}else{echo "文章修改失败".$conn->error;}
}else{$id= $_GET['id'];$id=$id?$id:1;$sql = "select id,title,content from page where id = $id";$result = $conn->query($sql);$page = $result->fetch_array();
}?><!DOCTYPE html>
<html><head><title>修改文章</title><meta charset="utf-8"></head><body><center><br><h1>修改文章</h1><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a><a href="logout.php">退出系统</a><hr><form action="page_edit.php" enctype="application/x-www-form-urlencoded" method="post"><input type="hidden" name="id" value="<?=$page['id'];?>">标题<input type="text" name="title" value="<?=$page['title'];?>">  <br>  <br>内容<input type="text" name="content" value="<?=$page['content'];?>">  <br>  <br><input type="submit" value="录入文章"></form></center></body>
</html><?php$conn->close();
?>

 page_list.php

<?phprequire "conn.php";$sql = "select id,title from page";$result = $conn->query($sql);$list = $result->fetch_all(MYSQLI_ASSOC);?><!DOCTYPE html>
<html><head><title>我的博客</title><meta charset="utf-8"></head><body><center><br><h1>文章列表</h1><a href="main.php">首页</a>|<a href="page_list.php">文章列表</a>|<a href="page_add.php">新增文章</a><hr><ul><?phpforeach($list as $p){?><li><a href="page_detail.php?id=<?=$p['id'];?>"><?=$p['title'];?>| <a href="page_detail.php?id=<?=$p['id'];?>">查看<a>| <a href="page_edit.php?id=<?=$p['id'];?>">修改<a>| <a href="page_delete.php?id=<?=$p['id'];?>">删除<a></li><?php}?></ul></center></body>
</html><?php$conn->close();
?>

总结:

什么是sql

sql是一门语言,通过sql语句可以快速实现数据的增删改查 

 
Create 增
Delete 删
Update 改
Read   查


CURD  就是指对数据的增删改查


什么是数据库

关系型数据库

非关系型数据库


关系型数据库

把所有的数据变为表格存放

常见有

Oracle
Mysql/MariaDB
SQLServer
Access 
Sqlite 

非关系型数据库

nosql数据库

sns 社交软件 web2.0  所有内容 由用户产生   并 由用户消费  

Membase
MongoDB


Mysql/Mariadb 为主


博客系统代码

sql语句

select id,username,password from user;

update page set title='aaa',content='bbb' where id =1;

delete from page where id =1;

insert into page (title,content) values('aaa','bbb');


php语句

$conn = new mysqli($host,$username,$password,$db,$port);

$conn->query();

$result->fetch_all();

$result->fetch_array();
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传输层协议 - TCP(Transmission Control Protocol)

文章目录&#xff1a; TCP 协议关于可靠性TCP 协议段格式序号与确认序号六个标志位16位窗口大小 确认应答&#xff08;ACK&#xff09;机制超时重传机制连接管理机制连接建立&#xff08;三次握手&#xff09;连接终止&#xff08;四次挥手&#xff09;TIME_WAIT 状态CLOSE_WAI…

ifconfig

ifconfig ifconfig 是用于配置和显示系统网络接口信息的命令。以下是 ifconfig 输出中常见的一些术语的解释&#xff1a; 网卡&#xff08;Network Interface Card&#xff0c;NIC&#xff09;&#xff1a;网卡是计算机连接到网络的硬件设备&#xff0c;也称为网络适配器或网卡…

V8引擎隐藏类(VIP课程)

上一章我们讲了V8如何存储的对象&#xff0c;其中提到了隐藏类&#xff0c;这一章我们来看看隐藏类到底做了什么。 为什么要讲V8&#xff1f;&#xff1f;&#xff1f;&#xff1f; 隐藏类是V8引擎在运行时自动生成和管理的数据结构&#xff0c;用于跟踪对象的属性和方法 隐藏…

Transformers库总体介绍

Transformers库是什么 Transformers 库是一个在自然语言处理&#xff08;NLP&#xff09;领域广泛使用的强大库&#xff0c;提供了一套全面的工具和预训练模型&#xff0c;用于执行各种 NLP 任务。以下是 transformers 库提供的主要功能&#xff1a; 1.预训练模型&#xff1a…

利用多核的Rust快速Merkle tree

1. 引言 利用多核的Rust快速Merkle tree&#xff0c;开源代码见&#xff1a; https://github.com/anoushk1234/fast-merkle-tree&#xff08;Rust&#xff09; 其具有如下属性&#xff1a; 可调整为任意高度构建root复杂度为O(n)提供了插入和获取叶子节点的方法获取某叶子节…

【嵌入式】将PDF转成PNG

客户给了一个PDF文档,转成PNG后放在项目中 PDF_FILE=$1 OUT_FILE=$2 TMP_FILE=./tmp/ rm -rf ${TMP_FILE} mkdir ${TMP_FILE} gs -sDEVICE=png256 -o "${TMP_FILE}%02d.png" -r144

比Postman强在哪里

Postman的受众对象主要是广大开发人员&#xff0c;调测使用&#xff0c;它并不能完全满足专业测试人员需求&#xff0c;而自动化测试平台可以 1&#xff0c;Postman&#xff0c;Jmter是单机版软件&#xff0c;类似打游戏你和电脑PK&#xff0c;而很多时候是要联网和其他人团队作…

一文带你了解MySQL数据库基础

✏️✏️✏️今天给各位带来的是关于数据库基础方面的知识。 清风的CDSN博客 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&#xff01; 动动你们发财的小手&#xff0c;点点…

【SA8295P 源码分析 (三)】129 - GMSL2 协议分析 之 Video Frame 帧数据结构分析 PCLK 计算公式

【SA8295P 源码分析】129 - GMSL2 协议分析 之 Video Frame 帧数据结构分析 & PCLK 计算公式 一、GMSL2 Video Frame 数据分析1.1 视频帧数据结构组成1.2 PCLK 计算公式二、GMSL2 协议 Video 数据带宽计算三、双加载模式 Double Loading Mode四、零填充模式 Zero-Padding M…

S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)

S7-1200PLC作为MODBUSTCP服务器端通信编程应用,详细内容请查看下面文章链接: ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 modbustcp-CSDN博客文…

无需API实现MySQL与巨量引擎的对接

通过数环通&#xff0c;您可以使用不到几分钟的时间即可实现MySQL与巨量引擎的对接与集成&#xff0c;从而高效实现工作流程自动化&#xff0c;降本增效&#xff01; 1.产品介绍 巨量引擎是字节跳动旗下的营销服务品牌&#xff0c;它整合了字节跳动旗下的产品及海量内容&#…

WPF TextBox实现placeholder

WPF里TextBox没有placeholder&#xff0c;需要自己实现&#xff0c;本篇博客介绍WPF TextBox实现placeholder&#xff0c;效果如下&#xff1a; 实现技巧是在 TextBox 控件的 Style 中使用触发器&#xff08;Triggers&#xff09;来显示和隐藏placeholder文本。xmal代码如下&am…

Activiti,Apache camel,Netflex conductor对比,业务选型

Activiti,Apache camel,Netflex conductor对比&#xff0c;业务选型 1.activiti是审批流&#xff0c;主要应用于人->系统交互&#xff0c;典型应用场景&#xff1a;请假&#xff0c;离职等审批 详情可见【精选】activti实际使用_activiti通过事件监听器实现的优势_记录点滴…

SpringBoot-集成Kafka详解

SpringBoot集成Kafka 1、构建项目 1.1、引入依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version> </parent> <dependenci…

【JavaEE】Spring核心与设计思想(控制反转式程序演示、IoC、DI)

一、什么是Spring&#xff1f; 通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;有着活跃⽽庞⼤的社区&#xff0c;这就是它之所以能⻓久不衰的原因。Spring ⽀持⼴泛的应⽤场景&#xff0c;它可以让 …

陶瓷行业废污水处理使用MES系统的作用

陶瓷行业属于高能耗、高污染行业&#xff0c;生产过程中消耗大量矿产资源和能源&#xff0c;产生的废气、废水、废渣、粉尘等对环境造成严重污染。在近年来&#xff0c;全社会环保意识增强&#xff0c;政府出台了一系列政策、措施加大节能、减排力度&#xff0c;整治行业污染。…

C进阶---动态内存管理

目录 一、为什么存在动态内存分配 1.1静动态内存分配区别&#xff1a; 1.2静态分配的优缺点 1.3动态分配优缺点 二、动态内存函数的介绍 2.1malloc和free 2.2calloc 2.3realloc 三、常见的动态内存错误 3.1对NULL指针的解引用操作 3.2 对动态开辟空间的越界…

「分享学习」SpringCloudAlibaba高并发仿斗鱼直播平台实战完结

[分享学习]SpringCloudAlibaba高并发仿斗鱼直播平台实战完结 第一段&#xff1a;简介 Spring Cloud Alibaba是基于Spring Cloud和阿里巴巴开源技术的微效劳框架&#xff0c;普遍应用于大范围高并发的互联网应用系统。本文将引见如何运用Spring Cloud Alibaba构建一个高并发的仿…

Hbuilder开发运行真机上“同步资源失败,未得到同步资源的授权...” 错误解决

uni开发app运行真机上“同步资源失败&#xff0c;未得到同步资源的授权…” 错误解决 使用adb命令到真机上&#xff0c;卸载基座即可。使用adb命令&#xff1a; adb uninstall io.dcloud.HBuilder 注意&#xff1a; 看到网上好多使用&#xff1a;adb shell pm list package -3…