用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 回复内容

回复关联表:
回复内容id 回复内容id

已私信
参考技术A 个人觉得建立一个专门的数据库表就可以了,给每个回复一个id然后在每次有回复后将这个id对应的回复写入表中就ok了!
回复内容表:
回复Id 回复内容

回复关联表:
回复内容id 回复内容id

这样就可以实现无限回复了!
希望对你能有所帮助。
参考技术B 除非你能连续多个问题,一直加分,四五百分,会有人把原来做过的给你发一份的。

程序功能设计


编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库,要求设计数据表内容及使用PHP编码完成

一. 数据表设计

  1. 分析数据表结构
    留言板有哪些信息需要存储
    留言信息: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链接数据库的方式

  1. PDO
    可扩展、支持预处理、面向对象
  2. MySQLi
    只支持MySQL操作,支持预处理、面向对象和过程,效率较高
  3. 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留言板 提交后 在页面中显示留言内容 留言时间等

程序功能设计

(详细)php实现留言板---会话控制-----------2017-05-08

使用PHP连接数据库实现留言板功能

PHP实现留言板功能

利用php写一个简单的留言板,要求:1能留,2能删,3能改,4能查,5能看到全部留言,以倒叙的方式