用PHP完成简易博客系统

因为项目需要简单的完成一个页面接收参数并且操作数据库的过程,在老师的指引下决定通过一个博客小项目加深自己的理解。

学习路线是用一天的时间大概熟悉了HTML和PHP的语法,然后结合一些视频课程和相关博客完成目标,这里只完成了博客的基本功能,想要扩展可以自行研究。整体内容参考网易云课堂的PHP100课程的第9,10两节,因为界面没有使用CSS,所以比较丑,但功能还是全面的,主页效果图如下

准备工作:安装wamp集成开发环境

首先在wamp中创建一个blog表,完全图形化的操作,注意的是需要根据自己添加的字段选择合适的类型及长度

然后在wamp的按照目录下找到www文件夹,在其中创建blog文件夹,作为我们的操作目录

第一步是创建conn.php文件,用来连接我们的test数据库,账号密码由自己设定,默认账号是root,密码为空,我这里之前设置过密码为root,两行代码就完成了数据库的连接。

<?php
	$link=new mysqli('127.0.0.1','root','root','test');   
	mysqli_select_db($link, "test")or die("数据库连接失败"); //选择操作的数据库
?>

 

第二步创建add.php文件,进行博客的写操作

<a href="index.php"><b>首页</b></a>
<hr>	<!--创建一条水平线-->

<?php
    include("conn.php"); //引入连接数据库
    if (!empty($_POST['sub'])) {    
        $title = $_POST['title'];  //获取title表单内容
        $con = $_POST['con'];      //获取contents表单内容  
		$sql="insert into blog values(null,'$title',now(),'$con')";
		// null用来占位4,因为已经设置为自增
        mysqli_query($link, $sql);  //执行插入语句 
		
		echo "<script>alert('博客创建成功!');location.href='index.php'</script>";
        //echo "成功创建新的博客!";
	}
?>

<form action="add.php" method="post">   <!-- action 属性规定当提交表单时,向何处发送表单数据-->
	标题:<br>
    <input type="text" name="title"><br><br>
    内容:<br>
    <textarea rows="10" cols="100" name="con"></textarea><br><br>	<!--textarea> 标签定义多行的文本输入控件,规定了文本区的可见行数和宽度-->
    <input type="submit"  name="sub" value="提交">
</form>

第三步创建主页,建立index.php文件,代码中包含了HTML和PHP的混编,注意区分

首页的第一部分是一个搜索功能,通过关键字对博客的标题进行模糊搜索,第二部分会循环打印每一篇博客,但是可以通过MySQL的查询语句限制展示博客数量,并且对博客内容进行了截取显示

<h2>欢迎来到我的博客</h2>
<a href="index.php"><b>首页</b></a>
<a href="add.php"><b>写博客</b></a>
<hr>
<form action="index.php" method="get">
	<input type="text" name="keys">
	<input type="submit" name="sub" value="搜索">
</form>

<?php
	include ("conn.php");
	if(!empty($_GET['sub'])){
		$key=$_GET['keys'];
		$t = " title like '%$key%'";
		//echo "$t";
		//$t = 1;
	}else{
		$t = 1;
	}
	$sql ="select * from blog where $t order by id desc limit 5";
	$query = mysqli_query($link, $sql);  // 执行一次
	
	while($rs = mysqli_fetch_array($query)){ //循环打印每一篇博客
	
?>
<h2>标题:<a href="view.php?id=<?php echo $rs['id'];?>"><?php echo $rs['title'];?></a> </h2>
<li><?php echo $rs['data']?></li>
<!--截取部分长度内容进行展示--> 
<p><?php echo iconv_substr($rs['contents'],0,10,"utf-8"); ?></p>
<?php
}
?>

第四步创建view.php文件,这里比较简单,只完成博客的展示

<?php
	include("conn.php"); //引入连接数据库

	if(!empty($_GET['id'])){
		$id = $_GET['id'];
		$sql = "select * from blog where id='$id'";
		$query = mysqli_query($link, $sql);
		$rs = mysqli_fetch_array($query);
	}
?>

<h2>题目  :<?php echo $rs['title'];?></h2>
<h3>日期  :<?php echo $rs['data'];?></h3>
<p><a href="index.php">首页</a>  |<a href="edit.php?id=<?php echo $rs['id'];?>">编辑博客</a>  |  <a href="del.php?id=<?php echo $rs['id'];?>">删除博客</a> </p>
<hr>
<p><?php echo $rs['contents']?></p>

第五步创建edit.php,对博客进行修改操作代码包含两部分,第一部分是博客内容在指定位置的展示,第二部分是完成内容的更新

<a href="index.php"><b>首页</b></a>
<a href="add.php"><b>写博客</b></a>
<hr>	<!--创建一条水平线-->

<?php
    include("conn.php"); //引入连接数据库

	if(!empty($_GET['id'])){
		$edit = $_GET['id'];
		$sql = "select * from blog where id='$edit'";
		$query = mysqli_query($link, $sql);
		$rs = mysqli_fetch_array($query);
	}

    if (!empty($_POST['sub'])) {    
        $title = $_POST['title'];  //获取title表单内容
        $con = $_POST['con'];      //获取contents表单内容  
		$hid = $_POST['hid'];
		$sql="update blog set title='$title', contents='$con' where id='$hid'";
        mysqli_query($link, $sql);  //执行插入语句 
		
        echo "<script>alert('博客修改成功!');location.href='index.php'</script>";
	}
?>

<form action="edit.php" method="post">
    <input type="hidden" name="hid" value="<?php echo $rs['id'];?>">
    标题:<br>
    <input type="text" name="title" value="<?php echo $rs['title'];?>">
    <br><br>
    内容:<br>
    <textarea rows="10" cols="100" name="con" ><?php echo $rs['contents'];?></textarea><br><br>
    <input type="submit"  name="sub" value="提交">
</form>

第六步创建del.php,完成博客的删除操作

<?php    
    include("conn.php"); 	//引入连接数据库
    if (!empty($_GET['id'])) {        
        $del = $_GET['id'];  //删除blog 	
		$sql="delete from blog where id='$del' ";
        mysqli_query($link, $sql); 	
		//echo "删除成功!";	
		header("Location:index.php");	//删除后跳转
	}
?>

至此我们的博客系统基本完成,后续如果有时间也会继续实现阅读量和留言板的功能。点此下载完整项目完整项目

  • 9
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值