php实现简单的新闻发布系统前台后台数据库操作

最近写了一个小小的项目,结合了最近学习的 PHP 操作数据库函数(mysqli)。实际上,数据库大多数的操作都是增删改查,只要熟练掌握这四个操作,那么大多数的问题都会迎刃而解。

完整代码放在了 GitHub 上,欢迎 star。
GitHub: https://github.com/datehoer/news

下面简单讲解一下主要的功能以及思路。

结构

首先简单想一下,我们既然要做一个前后全套的系统,那么我们都需要什么功能呢?

首先需要一个前台页面,然后需要新闻的详情页,之后再需要后台等等。

  1. 主页
  2. 新闻详情页
  3. 后台操作页
  4. 登录页面

然后后台操作页,大多数都是一个综合的页面,然后点击跳转到具体的功能页面,所以我们的后台操作页也就是后台的主页需要有什么功能呢?

  1. 新闻发布
  2. 新闻删除
  3. 新闻类的增加
  4. 新闻类的删除
  5. 新闻修改
  6. 新闻类的修改
  7. 操作前台页面(友情链接、底部信息等)
  8. 用户操作
  9. 评论管理

我大概也就能想到这些,更多的内容就是边写边想了。

我们将后台的页面都命名为 admin_xxx。

然后其实有的页面只需要在页面点击进行操作,然后跳转到处理页面之后进行数据库操作,再返回之前的页面。亦或者我们使用 isset() 函数。

isset() 函数

isset(mixed $var, mixed $... = ?): bool

检测变量是否设置,并且不是 null

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 null 的变量,将返回 false。同时要注意的是 null 字符("\0")并不等同于 PHP 的 null 常量。

如果一次传入多个参数,那么 isset() 只有在全部参数都已被设置时返回 true 计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

其实主要是通过这个来判断是否传递了参数,这样我们就可以将具体的操作代码放在功能页面而不是进行跳转了。

所以后台操作页的代码中大多数功能都会以 if(isset()) 开头,这是为了判断你是否点击提交/删除(其实就是 submit 按钮)。

新闻发布

新闻发布页,这个我觉得其实是非常容易实现的功能,我们主要的核心代码就是一句话:

1
$sql = "insert into news(`newclass`,`title`,`content`,`settime`,`adduser`,`hits`) values('$newsClass','$title','$content','$settime',$userName','$hits');";

我们只要写好发布页面然后传值之后通过这句 SQL 进行执行即可。

只需要引入一段 JavaScript 代码然后加几行 JavaScript 即可实现现代化编辑器的样式。

wangeditor

前台布局

这个是我最后写的功能,因为…其实主要还是懒,我这个写了好久,一天写一行-.-。

这里我的思路就是创建一个数据表,然后我前台读取做这个表,如果有那么就写出来,无就不写,然后我通过后台来进行增删改查。

其实这个跟前面的新闻发布是一样的,我们在后台进行设置,比如说 banner 轮播图。

我们首先先在前台写好轮播图,然后再进行修改,之所以这样,是因为我当时是先写的静态的主页,然后再修改成读取数据,不过也可以先写后台,然后设置上去数据再写前台,但是我觉得先把前台写好,然后再进行修改比较容易,随意即可。

登录页面

写了这么多页面,我最满意的其实就是这个登录页面,而登录页面我最满意的就是验证码功能了。

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$numlist = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
$num ='';
$numlen=5;
function createnum($numlist,$num,$numlen){
for($i=0;$i<$numlen;$i++){
$numrandom = rand(0,count($numlist)-1);
$num=$num.$numlist[$numrandom];
}
return $num;
}
$num =createnum($numlist,$num,$numlen);
?>

首先我们需要先创建一个数组,用

来储存我们的验证码的值,0-9A-Za-Z然后再创建随机数来读取数组的值,之后再进行组合就形成了我们的验证码,最后再在点击提交后先对验证码进行判断,然后再判断用户名密码来进行登录。

这个功能我是非常喜欢的!!

总结

主要就是捡了几个比较重要的地方来进行讲解,完整的可以去 GitHub 查看,大多数的功能我都已经实现了,所以日后是随缘进行完善了,其实之所以不将所有的功能完善好,是因为我的 CSS 写的太丑了,不想看了,哈哈。

大家要学会看别人的代码,不论好坏都可以学到许多东西,比如说验证码这个功能我就是参考的 JavaScript 验证码来写的,多学多看。

php实现简单的新闻发布系统前台后台数据库操作

http://www.datehoer.com/posts/69c484ab-6e80-11ee-a697-01b0896cf41d/

作者

datehoer

发布于

2021-06-22

更新于

2023-10-19

许可协议

评论