PHP案例 许愿墙 PHP许愿墙 您所在的位置:网站首页 阿里一共几轮面试 PHP案例 许愿墙 PHP许愿墙

PHP案例 许愿墙 PHP许愿墙

2023-12-22 18:49| 来源: 网络整理| 查看: 265

源码:download.csdn.net/download/qq…

版权说明:禁止抄袭,转载请附上本文链接,禁止用于商业目的,禁止在转载时附上源码,本源码仅供交流参考,如发现雷同并未附上本文链接请联系我。

目录

一、案例展示

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.数据库设计  ①数据库设计在项目开发过程中起着至关重要的作用,如果设计的不合理、不完善,在项目开发和维护过程中可能出现很多问题。 字段数据类型说明idINT UNSIGNED PRIMARY KEY AUTO_INCREMENT愿望idnameVARCHAR(12) DEFAULT '' NOT NULL作者名字contentVARCHAR(80) DEFAULT '' NOT NULL许愿内容timeINT UNSIGNED DEFAULT 0 NOT NULL发表时间colorVARCHAR(10) DEFAULT '' NOT NULL贴纸颜色passwordVARCHAR(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中验证保护密码是否正确 不正确,不能删除 正确,直接删除数据库中对应的愿望信息 教程完毕 

注:本人用于开发PHP版本为5.6.9,经过测试PHP5.2.17、5.4.45、7.3.9_p打开版本会报错,PHP5.4.1、7.1.9、7.3.9显示正常、其他版本未测试。

如需要技术指导请私聊我,在线时间不固定,有可能好几个星期也不看一次;

如需要程序源码请去本章顶部链接下载,如果不想花几毛钱就私聊我,在线时间不固定;

————————————————

版权声明:本文为CSDN博主「我因代码而疯狂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:blog.csdn.net/qq_39476250…



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有