用PHP完成留言板功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PHP完成留言板功能相关的知识,希望对你有一定的参考价值。
要求:
1》 完成添加留言的功能
2》 需要得到留言的标题
3》 留言的内容(需要过滤内容中的html字符)
4》 留言时间
5》 留言者IP地址
6》 留言人的用户名
7》 留言人的头像,头像要求是用户发布留言时上传上来的
8》 完成显示所有留言
回复表:回复ID、留言ID、用户ID、内容、发表时间、修改时间(此字段可选)。
第一个用户ID是谁发表的留言,第二个用户ID是谁回复的留言,这样无限回复没问题,应该和你设计的差不多。
查询(查询某条留言的所有回复):
在回复表里查询所有该留言的回复记录(查询条件为留言ID),并按发表时间降序
回复内容表:
回复Id 回复内容
回复关联表:
回复内容id 回复内容id
已私信 参考技术A 个人觉得建立一个专门的数据库表就可以了,给每个回复一个id然后在每次有回复后将这个id对应的回复写入表中就ok了!
回复内容表:
回复Id 回复内容
回复关联表:
回复内容id 回复内容id
这样就可以实现无限回复了!
希望对你能有所帮助。 参考技术B 除非你能连续多个问题,一直加分,四五百分,会有人把原来做过的给你发一份的。
程序功能设计
编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库,要求设计数据表内容及使用PHP编码完成
一. 数据表设计
- 分析数据表结构
留言板有哪些信息需要存储
留言信息:ID,留言标题,留言内容,留言时间,留言人
##二. 数据表创建语句
create table message(
`id` int UNSIGNED not null auto_increment PRIMARY KEY,
`title` VARCHAR(120) not null DEFAULT ,
`content` VARCHAR(255) not null DEFAULT ,
`created_at` INT not null DEFAULT 0,
`user_name` VARCHAR(32) not null DEFAULT ,
key message_user_name(user_name)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
三. 选择PHP链接数据库的方式
- PDO
可扩展、支持预处理、面向对象 - MySQLi
只支持MySQL操作,支持预处理、面向对象和过程,效率较高 - MySQL
只支持MySQL数据库,没有预处理、面向过程
四. 编码能力
<?php
try
$pdo = new PDO($dsn,$username,$password,$attr);
$sql = select id ,title,content from message where user_name=:user_name;
$stmt = $pdo->prepare($sql);
$stmt->execute([:user_name=>$user_name]);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
catch(PDOException $e)
echo $e->getMessage();
解题方法
先分析应该存储哪些信息,设计好数据表,如果编码时才发现设计有问题,会浪费时间,然后根据设计好的数据表创建数据表,通常使用PDO来连接MySQL,最终完成编码。
真题二:
设计无限分类表
id title pid path
pid字段用于定义当前分类的父分类
path 主要用于排序,也可以用递归实现
以上是关于用PHP完成留言板功能的主要内容,如果未能解决你的问题,请参考以下文章
不用数据库 编写一个PHP留言板 提交后 在页面中显示留言内容 留言时间等