# bbs-php
**Repository Path**: zpv/bbs-php
## Basic Information
- **Project Name**: bbs-php
- **Description**: php写的论坛项目 适合新手入门
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 1
- **Created**: 2021-07-03
- **Last Updated**: 2024-12-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# bbs论坛项目
因为重点放在了PHP编写上,所以前端部分没有特别写~~ 数据提交都是采用FORM表单的形式
#### 项目结构 /bbs/
``` sh
├── config/ # 项目配置文件
├── config.php # 配置文件
├── core/ # 核心文件
├── mysqlDB.php # 数据库连接文件
├── upload.php # 上传文件操作
├── model/ # 业务模块
├── list_father.php
├── login.php
├── publish.php
├── publish_deal.php
├── register.php
├── reply.php
├── reply_deal.php
├── show.php
├── userInfo.php
├── validate.php
├── public/ # 静态资源存放目录
├── uploads/ # 文件上传目录
├── views/ # 视图目录
├── index.html
├── list_father.html
├── list_son.html
├── login.html
├── publish.html
├── quote.html
├── register.html
├── reply.html
├── show.html
├── index.php # 项目入口文件
├── init.php # 项目初始化文件
```
### 项目介绍
* 项目进行了简单的前后端分离
* 功能实现:登录(结合session和cookie)、注册、注销、查看帖子、发表帖子、帖子分页、点赞、帖子回复、头像、删除帖子
```php
// index.php
setTimeout( () => alert(''),500 )";
die("");
}
}
//用户表单数据过滤
/**
* 封装跳转函数
* @param string $str 接收的表单数据
* @return string 返回数据
*/
function escapeString($str) {
return addslashes(strip_tags(trim($str)));
}
?>
```
```php
query($sql);
$row = $result->fetch_assoc(); // 还是一个数组
$rowCount = $row['sum']; // 得到总记录数
// 计算总页数
$pages = ceil($rowCount / $rowsPerPage);
// 拼凑出页码字符串
$strPage = '';
// 拼凑出“首页”
$strPage .= "首页";
// 拼凑出“上一页”
$preNum = $pageNum == 1 ? 1 : $pageNum - 1;
if($pageNum != 1) {
$strPage .= "<<上一页";
}
// 确定显示的第1个页码$startNum的值
if($pageNum <= 3) {
$startNum = 1;
}else {
$startNum = $pageNum - 2;
}
// 确定$startNum的最大值
if($startNum > $pages - 4) {
$startNum = $pages - 4;
}
// 防止$startNum出现负值
if($startNum <= 1) {
$startNum = 1;
}
// 确定显示的最后1个页码$endNum的值
$endNum = $startNum + 4;
// 防止$endNum越界
if($endNum > $pages) {
$endNum = $pages;
}
// 拼凑出中间的页码
for($i=$startNum;$i<=$endNum;$i++) {
if($i == $pageNum) {
$strPage .= "$i";
}else {
$strPage .= "$i";
}
}
// 拼凑出“下一页”
$nextNum = $pageNum == $pages ? $pages : $pageNum + 1;
if($pageNum != $pages) {
$strPage .= "下一页>>";
}
// 拼凑出“尾页”
$strPage .= "尾页";
// 拼凑出“总页数”
$strPage .= "总页数:$pages";
// 分页到此结束
// 3, 提取publish表的数据
$offset = ($pageNum - 1) * $rowsPerPage;
$sql = "select * from publish order by pub_time desc limit $offset, $rowsPerPage";
$result = $conn->query($sql);
if ( $result->num_rows == 0 ) {
$row = array('pub_content' => '信息消失了~', 'pub_owner' => '');
}
include DIR_VIEW . 'list_father.html';
//logout.php 账号注销功能
connect_error ) {
die('数据库连接失败');
}
```
#### 项目总结
* 本项目是初学PHP写的第一个综合性项目,写的过程中遇到很多问题,发现PHP基础这一块很重要,其次就是后端方面要多去了解
* 写的大多都是纯业务的代码,代码质量有待提高
* 总结: 继续采坑(^-^)V
* 项目适合入门的小伙伴哦~
##### 始终坚信
敢于尝试的你 其实已经进步了 ^_^