官方接单发单平台上线!有接单发单需求的请直接发布需求,或注册接单!点击此处查看详情!

黑马程序员 PHP案例 许愿墙 PHP许愿墙 学习通

时间:2024-01-08 浏览:419 分类:其他代写代做

91代做网-专注各种程序代做

包括但不限于:各类毕设课设、作业辅导、代码答疑、报告论文、商业程序开发、论文复现和小程序开发等。

也欢迎各行业程序员加入我们,具体请联系客服详聊:QQ号:,微信号:,接单Q群:

进群或联系客服获取源码

一、案例展示

1.首页

2.发表愿望单 

3.修改愿望单

4.删除愿望单

二、需求分析

三、案例实现

1.准备工作

2.数据库设计 

 3.许愿墙展示

 4.分页查询

5.发表愿望 

6.修改愿望

7.删除愿望 

教程完毕 

一、案例展示

1.首页

2.发表愿望单 

3.修改愿望单

4.删除愿望单

二、需求分析

在本案例中,对于许愿墙的具体需求如下。

配置一个虚拟主机“www.wish.com”用于测试和运行项目

通过MySQL数据库保存用户的数据

提供展示愿望、发表愿望、修改愿望和删除愿望4个主要功能

提供绿色、蓝色、黄色、红色4种颜色的心愿贴纸 显示愿望的发表时间,以形如“10分钟前 16:21”的友好格式显示

在展示愿望时,为了避免单个页面的数据过多,以分页的方式进行展示

为了防止自己的愿望被其他人随意修改,在发表愿望时可以设置保护密码

当愿望设置了保护密码后,在对其修改、删除时,需要验证密码

三、案例实现

1.准备工作

① 准备项目运行的环境创建虚拟主机

② 合理的管理项目文件目录结构划分

③ 连接数据库              编写文件common\init.PHP完成数据库连接,为后续开发做准备

 ④  准备公共函数        封装常用的代码,以提高代码的可复用性、可维护性等,如外部变量的接收和过滤

 ⑤  引入公共文件        init.php、function.php

类型

文件名称

作用

目录

common

保存公共的PHP文件

css

保存项目的CSS文件

js

保存项目的JavaScript文件

view

保存项目的HTML文件

common/init.php

保存项目的初始化代码(设置时区、连接数据库)

文件

common/function.php

保存项目的公共函数

view/index.html

展示愿望的HTML模板

view/common/add.html

添加愿望的HTML模板

view/common/edit.html

修改愿望的HTML模板

view/common/password.html

修改或删除愿望时,验证密码的HTML模板

index.php

提供展示愿望、验证密码、删除愿望功能

save.php

提供添加、修改愿望功能

2.数据库设计 

①数据库设计在项目开发过程中起着至关重要的作用,如果设计的不合理、不完善,在项目开发和维护过程中可能出现很多问题。

字段

数据类型

说明

id

INT UNSIGNED PRIMARY KEY AUTO_INCREMENT

愿望id

name

VARCHAR(12) DEFAULT '' NOT NULL

作者名字

content

VARCHAR(80) DEFAULT '' NOT NULL

许愿内容

time

INT UNSIGNED DEFAULT 0 NOT NULL

发表时间

color

VARCHAR(10) DEFAULT '' NOT NULL

贴纸颜色

password

VARCHAR(6) DEFAULT '' NOT NULL

保护密码

②插入测试数据

INSERT INTO `wish` VALUES

(1, '张三', '天天开心、心想事成、大吉大利、一帆风顺。', 1490240257, 'red', '111'),

(2, 'PHP爱好者', '祝愿PHP越来越好!', 1490241675, 'yellow', ''),

(3, '匿名', '争取毕业月薪过万!', 1490251234, 'blue', '000000'),

(4, '小明', '考上清华大学', 1490252675, 'green', '123');

 3.许愿墙展示

①在index.php中编写SQL语句查询出所有记录

②格式化日期

③修改HTML展示模板

④为避免不同服务器环境因配置的时区不同,造成显示的时间有误,设置时区

 a.查询出数据库的记录


Array(

[0]=>Array([id]=>1 [name]=>张三 [content]=>天天开心、心想事成、大吉大利、一帆风顺。 [time]=>1490240257 [color]=>red)

[1]=>Array([id]=>2 [name]=>PHP爱好者 [content]=>祝愿PHP越来越好! [time]=>1490240257 [color]=>yellow

[2]=>Array([id]=>3 [name]=>匿名 [content]=> 争取毕业月薪过万 [time]=>1490251234 [color]=>blue

[3]=>Array([id]=>4 [name]=>小名 [content]=> 考上清华大学 [time]=>1490240257 [color]=>green

)

b.编写样式 

 4.分页查询

a.分页实现的原理是利用LIMIT限制SELECT语句查询出的数据

SELECT `content` FROM `wish` LIMIT 0, 10; # 查询第1页的10条数据

SELECT `content` FROM `wish` LIMIT 10, 10; # 查询第2页的10条数据

SELECT `content` FROM `wish` LIMIT 20, 10; # 查询第3页的10条数据

SELECT `content` FROM `wish` LIMIT 30, 10; # 查询第4页的10条数据

①在common\function.php文件中编写page_sql()函数,获取LIMIT的参数

②在index.php中,根据用户传递的页码,利用LIMIT查询出对应的记录

③生成“首页”“上一页”“下一页”“尾页”链接导航显示到HTML页面中

5.发表愿望 

①准备发表愿望的表单,在index.html中引入

②利用自定义的input()函数接收并过滤用户提交的数据

③按照要求对用户提交的数据进行判断。例如,贴纸的颜色只能是蓝、黄、绿、红中的一种。

④通过验证后,将用户提交的数据保存到数据库中

a.发表愿望

6.修改愿望

为了防止愿望被作者以外的人修改

在发表愿望时可以设置保护密码

当愿望受到密码保护后

在修改和删除愿望时就要先验证密码

在修改连接上添加,愿望id和页码

在index.php中,获取待编辑的愿望id,显示密码验证表单

验证不通过,显示对应的提示信息

验证通过,显示修改愿望表单

在save.php中,接收用户编辑的愿望数据,同时在修改前要验证保护密码是否正确

7.删除愿望 

a.删除愿望功能用于作者删除自己的愿望,为防止误删,删除时需验证保护密码。

添加一个删除链接

在index.php中验证保护密码是否正确

不正确,不能删除

正确,直接删除数据库中对应的愿望信息


客服