技术标签: MySQL 许愿墙 简单 PHP案例 基础 教程
由于跟我索要源码的同学比较多,我有点发不过来,所以我把源码直接上传蓝奏云了,下面链接免费下载
版权说明:禁止抄袭,转载请附上本文链接,禁止用于商业目的,禁止在转载时附上源码,本源码仅供交流参考,如发现雷同并未附上本文链接请联系我。
目录
在本案例中,对于许愿墙的具体需求如下。
① 准备项目运行的环境创建虚拟主机
② 合理的管理项目文件目录结构划分
③ 连接数据库 编写文件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 |
提供添加、修改愿望功能 |
字段 |
数据类型 |
说明 |
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');
①在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.编写样式
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页面中
①准备发表愿望的表单,在index.html中引入
②利用自定义的input()函数接收并过滤用户提交的数据
③按照要求对用户提交的数据进行判断。例如,贴纸的颜色只能是蓝、黄、绿、红中的一种。
④通过验证后,将用户提交的数据保存到数据库中
a.发表愿望
a.删除愿望功能用于作者删除自己的愿望,为防止误删,删除时需验证保护密码。
注:本人用于开发PHP版本为5.6.9,经过测试PHP5.2.17、5.4.45、7.3.9_p打开版本会报错,PHP5.4.1、7.1.9、7.3.9显示正常、其他版本未测试。
如需要技术指导请私聊我,在线时间不固定,有可能好几个星期也不看一次;
文章浏览阅读84次。本文实例讲述了Python集合基本概念与相关操作。分享给大家供大家参考,具体如下:集合的概念集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的。集合创建和删除使用{}创建集合对象,并使用 add()方法添加元素>>> a = {3,5,7}>>> a{3, 5, 7}>>> ..._python集合的运用abc篮球特长
文章浏览阅读300次。烧友们在选择耳机或者其他音频设备的时候,通常都会借鉴性的参考它们的参数。比如阻抗、灵敏度、解析力、频响范围等等,他们的表现都会影响到耳机或者其他音频设备的整体素质。那么今天说的频响曲线,跟耳机的整体素质又有什么关系呢?要了解频响曲线,首先我们要知道什么是频响。频响是频率响应的简称,英文名称是Frequency Response,一般是用来描述仪器对于不同频率信号处理能力的差异。“频”指“..._频响曲线 是贝塞斯曲线吗
文章浏览阅读105次。桌面电脑回来了?其实,从技术上来说桌面电脑从来没有离开。但是在过去十年中,我们越来越多地关注移动设备:平板电脑、智能手机甚至是笔记本电脑,而在这些设备当中,苹果又占据了很大一部分的销量。但是今年我们可以轻而易举地从苹果的 WWDC 主题演讲中获取一个信息,那就是依然有很多人喜欢台式电脑。或许在有的时候,桌面电脑是没有替代品的。完整的桌面计划苹果在 WWDC 上对关于 Mac 的话题其实并没有谈论太..._苹果桌上电脑
文章浏览阅读714次。描述cs5460a应用电路CS5460A主要用于智能电度表的设计,也可用于瞬时电压电流,电压电流有效值及功率的测量。电路设计可以用单片机,也可以用自引导EPROM,运用灵活可以适应不同的需求。电压电流有效值读出的是3B 24位的无符号数,而瞬时值则是有符号24位数表示,最高位表示正负。CS5460A还提供了电能计量脉冲输出端口EOUT和功率方向端口EDIR,因而可以方便的与步进电机计数器连接构成简..._cs5460a
文章浏览阅读4.8k次。虽然在Java领域中web程序应用广泛,但是基于Java开发命令行的工具也是非常使用的,本文将介绍一下在过去几天针对命令行工具Java类库的调研结果。JCommander项目地址: https://github.com/cbeust/jcommander Star: 1010 Fork: 227 文档地址: http://jcommander.org/使用示例:p_commons cli jcommander
文章浏览阅读9.3k次,点赞2次,收藏4次。1. Spring Boot应用打包spring Boot应用可以打成jar包,其中内嵌tomcat,因此可以直接启动使用。但是在Spring Boot应用启动之前,首先需要进行打包,本文讲述的是Maven工程的打包,打包需要的前提条件(pom.xml文件中的内容)是:...jar... org.springframework.boot spring-_禁用heapdump
文章浏览阅读457次。SAP WM模块常用T-code_display warehouse
文章浏览阅读681次,点赞3次,收藏17次。Python Tkinter 哲学家问题可视化学校的课设总算是告一段落,现在有时间分享一下代码和心得了。这次的文章是回应之前的雏形版代码的,这次的可是完全版哦。我们先来看一下效果吧!效果总归还行吧,代码也比较简短,只有170行。再此推荐你看我之前关于这个题目的文章,接下来我直接代码讲解了。# -*- coding:utf-8 -*-#print('资源加载中,稍等片刻……')from tkinter import *from PIL import Image,ImageTk from t_哲学 可视化
文章浏览阅读6.8k次,点赞5次,收藏39次。1)–设置启用空闲激活、屏幕锁定、屏保和空闲激活时间# gconftool-2 --direct \--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \--type bool \--set /apps/gnome-screensaver/idle_activation_enabled true# gconftool-2 --direct \--config-source xml:readwrite:/etc/gconf/_检查登录提示-是否更改telnet警告banner
文章浏览阅读231次。搭建一个SpringCloud项目1.New Project2.聚合总父工程名字3.Maven选版本4.工程名字5.字符编码6.注解生效激活7.java编译版本选88.File Type过滤9.删除src文件夹10.修改pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww_javacloud怎样集成unity
文章浏览阅读1.1w次,点赞18次,收藏152次。文章目录Q-Learning简述Deep Q Network(DQN)为什么要用DQNDQN中的几个巧妙的地方DQN流程简述Q-Learning简述Deep Q Network(DQN)为什么要用DQNDQN中的几个巧妙的地方DQN流程简述Q Learning 就是创造一个Q表,来指导机器人的行动,Q表对应Action的数值越大,机器人就越大概率地采取这个Action.Q函数的更新方..._paddlepaddle版flappy-bird—使用dqn算法实现游戏智能
文章浏览阅读1.8k次,点赞2次,收藏7次。下面是根据katalon 内置的Quick Guide截图的翻译出的基础指导:一、Katalon Studio界面功能区概观指导:二、测试用例操作手册视图指导:三、记录测试用例:四、执行与调试五、移动测试(Mobile Testing)..._katalon studio的内置脚本语言是什么