学习php的第一个实例--留言簿及管理系统

时间:2024-04-08 15:32:52

这次的留言簿设计主要分为用户留言评论界面和管理员管理界面。对于用户来说实现了登录注册,查看留言,评论留言等功能。对于管理员来说主要是可以删除特定的留言或评论。

设计框架:

数据库:使用的是mysql数据库,库名为gbook,库下面一共三个表:gbook、user和admin,gbook用来存储留言簿内容,包括主题、内容、回复和时间等等。user用来存储普通用户的账号信息,包括用户名和密码,admin用来存储管理员的账号信息,也是用户名和密码。                                       学习php的第一个实例--留言簿及管理系统



用户界面

index.php: 用户主界面,显示了所有的留言,每个留言后面都有评论按钮,点进去并能进入评论界面,下面是用户登录注册界面。

login.php:用户登录的处理页面。

register.php:用户注册界面。

register_user.php:用户注册的处理界面。

conn.php:数据库连接,可以被其他登录、注册、编辑和查询等与数据库有交互的页面复用。

add.php:添加新的留言至主界面。

reply.php:用户评论界面,显示的是用户所要评论的主题的全部评论,添加评论到该主题。

add_reply.php:添加评论至该主题。

clear_cookie.php:在用户退出登陆后清除cookie。

管理员界面:

admin.php:管理员主界面,可以查看所有留言和评论,可以删除特定的留言或评论。管理员界面有登录入口但是没有注册入口,可以直接在数据库中插入管理员的信息。

login_admin.php:管理员登录处理页面。

conn.php:数据库连接,可以被其他登录、注册、编辑和查询等与数据库有交互的页面复用。

clear_cookie.php:在管理员退出登陆后清除cookie。

代码地址:github地址

总结:

1.应该在以后多整合界面,让界面数更少,比如直接将登录的工作放在主界面上完成,而不是再写一个登录页面去完成这些工作。

2.在本次实践中,cookie用来记录用户登录信息,session用来记录用户登录状态,使用cookie来让页面刷新时依然可以保持登录,使用session来判断用户是否登陆上。cookie保存在客户端,session保存在服务端。

3.写代码前一定要好好想每个界面要实现的功能,什么操作最应该由那个界面来完成,尤其是当两个php之间有交互时更应该考虑设计问题。

4.isset用于判断变量是否被定义且不为NULL,empty用来判断变量是否被赋值。

5.post不会在url中显示信息,如果是用户登录和注册推荐使用post。

6.php可以通过echo向html传递值,html可以通过form等向php提交变量和参数,如果submit的操作需要传入一些参数。可以使用”hidden”类型的输入。

7.适当使用ajax来刷新页面部分内容,比如用户登录等小界面。