PHP+HTML简单实现BBS论坛与回帖
【摘要】 本文主要讲述如何通过PHP+HTML简单实现BBS论坛和发帖/回帖的功能,这是提取我们php项目的部分内容。主要内容包括: 1.通过JavaScript和Iframe实现局部布局界面 2.PHP如何定义类实现访问数据库功能 3.实现简单的BBS论坛和发帖/回帖功能
本文主要讲述如何通过PHP+HTML简单实现BBS论坛和发帖/回帖的功能,这是提取我们php项目的部分内容。主要内容包括:
1.
2.PHP如何定义类实现访问数据库功能
3.实现简单的BBS论坛和发帖/回帖功能
由于这个项目是十个人在寒假完成,所以采用了SAE搭建在线的后台数据库,其他人在通过Apache本地设计网页、访问数据库的方法实现,相当于简单的BS三端访问。访问 效果如下图所示:
一. 首页布局搭建
首先是搭建首页的布局,主要布局分为head、main_left和main_right。其中右边显示部分采用的是iframe实现的局部显示,而左边采用JavaScript实现点击隐藏和显示功能。其中index.php首页代码如下:
这里的CSS代码布局调用css文件中的mycss.css实现:
在Iframe中主要的代码是<iframe src="main_right.php" name="rightFrame" id="rightFrame">,调用时“<A href="main_right3-1.php" target="rightFrame">BBS论坛</A>”声明target为rightFrame即可。同时隐藏显示设置style.display为block或none。
其中main_left.php代码如下,此时即可实现上面的布局。
显示的效果如下:
其中main_right3-1.php的代码如下:
这里需要指出HTML代码"../database/httppost.php"中".."表示返回上一级目录,该代码的目录如下图所示,源代码放在Apache中htdocs文件夹中。
PS:由于该项目是《面向对象分析与开发》课程作业,所以需要用面向对象的知识去分析和实现。突然有一天我发现PHP以前用的都是HTML和PHP布局后台实现的,没用用到类、封装、继承的知识,但查阅相关资料后发现它都是有这些东西的。
后来在实现这个项目过程中我们定义了不同的类(感谢PU哥),这里仅仅举例数据库方面和Human类。
同时定义Human类,而继承该类的Student和Teacher是两种身份的登陆用户。其中构造函数、实例化都已经在成员函数中写好。
再调用上面定义的类HttpPostInf和Human,实现访问数据库的简单代码如下所示:
<?php
//查询贴
$hgi=new HttpPostInf();
$result=$hgi->doquery('2',"select * from BBS_Post;");//SQL语句
//解析json
$dj=json_decode($result,true);
$jcount=count($dj);
for($i=0; $i<$jcount; $i++) {
echo $dj[$i]['BP_Pid'];
}
?>
而当用户登录后会使用Session记录用户的id,然后通过类实例化即可实现获取该用户的所有信息,简单的代码如下:
$h1=new Student('2220140598');
echo $h1->getname(); echo '<br>';
echo $h1->getsex(); echo '<br>';
echo $h1->getemail(); echo '<br>';
最后希望文章对大家有所帮助,尤其发现PHP方面搭建的文章比较少!相对多的文章是PHP关于某个细节处理,同时更希望大家学习下PHP类相关的知识。总感觉自己写博客有些问题,但自己说不出来,希望大家提出不足之处!该代码数据库是布局在SAE上的,所以直接运行可以出现上面所有图形的效果。
这里的CSS代码布局调用css文件中的mycss.css实现:
在Iframe中主要的代码是<iframe src="main_right.php" name="rightFrame" id="rightFrame">,调用时“<A href="main_right3-1.php" target="rightFrame">BBS论坛</A>”声明target为rightFrame即可。同时隐藏显示设置style.display为block或none。
其中main_left.php代码如下,此时即可实现上面的布局。
显示的效果如下:
二. 实现BBS论坛及回复
论坛主要通过自定义类database文件夹下Httppost.php实现,其中main_right3-1.php是显示所有BBS论坛帖子的主题,而main_right3-1-content.php是对应帖子的内容,包括回复内容等。其中main_right3-1.php的代码如下:
其中main_right3-1-content.php代码如下:
发帖回复显示效果如下图所示:
发帖回复显示效果如下图所示:
发帖的代码就不贴出来了,可以查看源代码。写到此处可能你会疑惑数据库访问部分的内容,下面进行简单讲解吧!
三. PHP定义类及成员函数
在PHP中我们通常课程学习时完成的网站都是基于面向过程的方法,从而忽略了它的面向对象知识,我显然也犯了这样的错误。PS:由于该项目是《面向对象分析与开发》课程作业,所以需要用面向对象的知识去分析和实现。突然有一天我发现PHP以前用的都是HTML和PHP布局后台实现的,没用用到类、封装、继承的知识,但查阅相关资料后发现它都是有这些东西的。
后来在实现这个项目过程中我们定义了不同的类(感谢PU哥),这里仅仅举例数据库方面和Human类。
同时定义Human类,而继承该类的Student和Teacher是两种身份的登陆用户。其中构造函数、实例化都已经在成员函数中写好。
再调用上面定义的类HttpPostInf和Human,实现访问数据库的简单代码如下所示:
<?php
//查询贴
$hgi=new HttpPostInf();
$result=$hgi->doquery('2',"select * from BBS_Post;");//SQL语句
//解析json
$dj=json_decode($result,true);
$jcount=count($dj);
for($i=0; $i<$jcount; $i++) {
echo $dj[$i]['BP_Pid'];
}
?>
而当用户登录后会使用Session记录用户的id,然后通过类实例化即可实现获取该用户的所有信息,简单的代码如下:
$h1=new Student('2220140598');
echo $h1->getname(); echo '<br>';
echo $h1->getsex(); echo '<br>';
echo $h1->getemail(); echo '<br>';
最后希望文章对大家有所帮助,尤其发现PHP方面搭建的文章比较少!相对多的文章是PHP关于某个细节处理,同时更希望大家学习下PHP类相关的知识。总感觉自己写博客有些问题,但自己说不出来,希望大家提出不足之处!该代码数据库是布局在SAE上的,所以直接运行可以出现上面所有图形的效果。
感恩能与大家在华为云遇见!
希望能与大家一起在华为云社区共同成长,原文地址:https://blog.csdn.net/Eastmount/article/details/44241583
(By:Eastmount 2022-08-31 夜于贵阳 http://blog.csdn.net/eastmount/ )
希望能与大家一起在华为云社区共同成长,原文地址:https://blog.csdn.net/Eastmount/article/details/44241583
(By:Eastmount 2022-08-31 夜于贵阳 http://blog.csdn.net/eastmount/ )
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)