登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』PHP 7&MySQL跨设备网站开发

書城自編碼: 3023209
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 陈惠贞、陈俊荣
國際書號(ISBN): 9787302473763
出版社: 清华大学出版社
出版日期: 2017-07-01
版次: 1 印次: 1

書度/開本: 32开 釘裝: 平装

售價:HK$ 114.6

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
女佣异闻:乙一出道25周年纪念短篇集
《 女佣异闻:乙一出道25周年纪念短篇集 》

售價:HK$ 59.9
生活观察图鉴 中国常见鸟类观察图鉴
《 生活观察图鉴 中国常见鸟类观察图鉴 》

售價:HK$ 179.8
父亲身份:探寻血缘之谜
《 父亲身份:探寻血缘之谜 》

售價:HK$ 105.6
悠游人间 赛博朋克少女插画绘制教程
《 悠游人间 赛博朋克少女插画绘制教程 》

售價:HK$ 119.8
“李晓鹏说中华史”系列(全二册)
《 “李晓鹏说中华史”系列(全二册) 》

售價:HK$ 175.2
绿色剧变:能源大革命与世界新秩序
《 绿色剧变:能源大革命与世界新秩序 》

售價:HK$ 82.8
你的韧性超乎你的想象
《 你的韧性超乎你的想象 》

售價:HK$ 71.8
新东方 剑桥雅思官方指南精讲 精确剖析官方指南样题
《 新东方 剑桥雅思官方指南精讲 精确剖析官方指南样题 》

售價:HK$ 81.6

 

建議一齊購買:

+

HK$ 83.8
《 PHP Web安全开发实战 》
+

HK$ 98.0
《 PHP 7.0+MySQL网站开发全程实例 》
+

HK$ 140.6
《 PHP 7底层设计与源码实现 》
+

HK$ 183.2
《 PHP和MySQL Web开发(原书第5版) 》
+

HK$ 172.6
《 PHP 7 编程实战 》
+

HK$ 129.1
《 PHP7内核剖析 》
編輯推薦:
丰富的范例可以满足你制作各种网页设计和网站开发项目的需求,包括移动商品目录、Google地图应用网站、文件上传、访客留言板、讨论组、在线寄信服务、会员管理系统、在线投票系统、购物车、网络相册等。
內容簡介:
本书是由具有丰富的跨设备平台网站策划、设计和开发实战经验的两位专业人士撰写的一部精品力作,内容是关于使用“PHP 7 + MySQL + Apache + jQuery Mobile”设计跨设备各类主流网站应用程序的“通关攻略”。
本书共分22章,涉及的主要基础内容包括:类型、变量、常数与运算符,流程控制与数组,函数,文件访问,GD绘图与图像处理,例外与错误处理,面向对象,在网页之间传递信息,使用Ajax,jQuery Mobile移动版网页,MySQL数据库与SQL查询,访问MySQL数据库等;另外,本书还给出了几大应用范例,包括移动商品目录、Google地图应用网站、文件上传、留言板与讨论组、在线寄信服务、会员管理系统、在线投票系统、购物车和网络相册。
目錄
目 录

第1章 开始编写PHP程序 1
1.1 认识动态网页技术 2
1.1.1 浏览器端Scripts 2
1.1.2 服务器端Scripts 3
1.2 认识PHP、Apache与MySQL 4
1.3 建立PHP、Apache与MySQL运行环境 6
1.3.1 安装AppServ 7
1.3.2 测试安装结果与切换PHP版本 12
1.3.3 查看PHP说明文件 14
1.4 PHP程序的编辑工具 15
1.5 安装本书范例程序 18
1.6 编写第一个PHP程序 19
1.6.1 将PHP程序嵌入HTML文件 19
1.6.2 将PHP程序放在外部文件中 21
1.7 PHP程序代码的编写惯例 23
学习评估 25
第2章 类型、变量、常数与运算符 27
2.1 类型 28
2.1.1 整数 28
2.1.2 浮点数 29
2.1.3 布尔 29
2.1.4 字符串 29
2.1.5 NULL 32
2.1.6 资源 32
2.2 类型转换 32
2.2.1 检查类型 33
2.2.2 明确转换类型 33
2.3 变量 34
2.3.1 变量的命名规则 34
2.3.2 变量的存取方式 35
2.3.3 变量的作用域 36
2.3.4 变量处理函数 36
2.4 常数 36
2.4.1 用户自定义常数 37
2.4.2 预定义的常数 37
2.5 运算符 38
2.5.1 算术运算符 38
2.5.2 字符串运算符 39
2.5.3 递增递减运算符 39
2.5.4 比较运算符 40
2.5.5 位运算符 41
2.5.6 逻辑运算符 41
2.5.7 赋值运算符 42
2.5.8 条件运算符 43
2.5.9 错误控制运算符 43
2.5.10 执行运算符 43
2.5.11 运算符的优先级 44
2.6 PHP的输出函数 45
学习评估 47
第3章 流程控制与数组 49
3.1 认识流程控制 50
3.2 if 50
3.2.1 if:若就(单向选择) 50
3.2.2 ifelse:若就否则(双向选择) 52
3.2.3 ifelseif:若就否则 若(多向选择) 53
3.3 switch 56
3.4 for 58
3.5 条件循环 60
3.5.1 while 60
3.5.2 dowhile 61
3.5.3 break与continue语句 62
3.5.4 exit函数 63
3.6 foreach 63
3.7 认识数组 64
3.8 一维数组 66
3.8.1 建立一维数组 66
3.8.2 存取一维数组 66
3.9 多维数组 69
3.9.1 建立多维数组 69
3.9.2 存取多维数组 70
3.10 数组运算符 72
3.11 数组相关函数 73
学习评估 77
第4章 函数 79
4.1 认识函数 80
4.2 自定义函数 80
4.3 函数的参数 83
4.3.1 传值调用 83
4.3.2 传址调用 84
4.3.3 设置参数的默认值 85
4.3.4 可变长参数列表 85
4.3.5 标量类型声明 86
4.4 函数的返回值 87
4.5 局部变量V.S. 全局变量 88
4.6 静态变量 90
4.7 匿名函数 92
4.8 可变函数 92
4.9 实用的PHP内部函数 93
4.9.1 数学常数 94
4.9.2 数学函数 94
4.9.3 日期时间函数 96
4.9.4 字符串函数 99
学习评估 103
第5章 文件访问 105
5.1 访问服务器端的路径 106
5.1.1 获取文件名 106
5.1.2 获取路径信息 106
5.1.3 获取绝对路径 107
5.2 访问服务器端的文件夹 107
5.2.1 创建文件夹 107
5.2.2 获取当前的工作文件夹 108
5.2.3 切换当前的工作文件夹 108
5.2.4 删除文件夹 108
5.2.5 判断路径是否为文件夹 109
5.2.6 判断文件夹是否存在 109
5.2.7 变更文件夹的权限 110
5.2.8 获取文件夹的父文件夹名称 110
5.2.9 获取文件夹所包含的文件名及子文件夹名称 110
5.3 访问服务器端的文件 111
5.3.1 判断文件是否存在 111
5.3.2 判断指定的路径是否为文件 111
5.3.3 复制文件 111
5.3.4 删除文件 112
5.3.5 变更文件名 112
5.3.6 获取文件属性 112
5.4 读取服务器端的文本文件 113
5.4.1 使用fread函数读取文本文件 113
5.4.2 使用fgets函数读取文本文件 116
5.4.3 使用file_get_contents函数读取文本文件 116
5.5 写入服务器端的文本文件 117
5.5.1 使用fwrite、fputs函数写入文本文件 117
5.5.2 使用file_put_contents函数写入文本文件 119
学习评估 120
第6章 GD绘图与图像处理 121
6.1 GD绘图 122
6.1.1 创建空白图像 122
6.1.2 分配颜色 122
6.1.3 绘制线条、图形与文字 123
6.1.4 输出图像 130
6.1.5 释放内存 131
6.2 图像函数 132
6.2.1 获取图像的大小与格式 132
6.2.2 读取外部图像 134
学习评估 135
第7章 例外与错误处理 137
7.1 例外 138
7.2 错误 141
7.3 PHP 7的错误处理 144
学习评估 146


第8章 面向对象 147
8.1 认识面向对象 148
8.2 类与对象 149
8.2.1 定义类 149
8.2.2 创建对象 150
8.2.3 static关键词 151
8.2.4 类常数 152
8.2.5 构造函数 153
8.2.6 析构函数 154
8.2.7 比较对象 156
8.2.8 匿名类 157
8.3 继承 158
8.3.1 定义子类 159
8.3.2 设置成员的访问级别 160
8.3.3 覆盖继承自父类的方法 163
8.3.4 调用父类内被覆盖的方法 164
8.3.5 抽象方法 164
8.3.6 子类的构造函数与析构函数 165
8.4 命名空间 168
学习评估 170
第9章 在网页之间传递信息 172
9.1 搜集网页上的数据 173
9.1.1 建立表单 173
9.1.2 表单的后端处理 179
9.2 HTTP Header 186
9.2.1 网页重定向 187
9.2.2 用户与密码认证 188
9.2.3 自动重定向到PC版或移动版网页 190
9.3 Cookie 191
9.3.1 写入Cookie 192
9.3.2 读取Cookie 194
9.4 Session 195
9.4.1 访问Session 196
9.4.2 Session相关函数 197
学习评估 198
第10章 使用Ajax 200
10.1 认识Ajax 201
10.2 编写导入Ajax技术的动态网页 202
第11章 jQuery Mobile移动版网页 210
11.1 认识jQuery Mobile 211
11.2 编写jQuery Mobile移动版网页 212
11.3 主题 216
11.4 超链接 217
11.4.1 内部链接 218
11.4.2 外部链接 220
11.4.3 绝对外部链接 221
11.5 对话框 223
11.6 按钮 225
11.6.1 建立按钮 225
11.6.2 设置按钮的图标 225
11.6.3 设置按钮的主题 226
11.6.4 设置按钮的特殊效果 226
11.6.5 设置控件组 227
11.7 工具栏 227
11.7.1 页首行 227
11.7.2 页尾行 228
11.8 导航条 229
11.9 可折叠区块 231
11.10 可折叠区块群组 231
11.11 列表视图 232
11.11.1 创建列表视图 232
11.11.2 设置分隔线 234
11.11.3 设置计数气泡与侧边内容 234
11.11.4 设置搜索功能 235
11.11.5 设置图标与缩略图 236
11.12 表单 237
11.12.1 字段容器 238
11.12.2 文字输入字段 239
11.12.3 日期时间输入字段 240
11.12.4 多行文本框 241
11.12.5 拨动式切换开关 241
11.12.6 下拉式菜单 243
11.12.7 复选框 244
11.12.8 单选按钮 246
11.12.9 读取表单字段的数据 247
第12章 MySQL数据库与SQL查询 250
12.1 认识数据库 251
12.2 使用phpMyAdmin管理MySQL数据库 253
12.2.1 创建数据库 253
12.2.2 创建数据表 255
12.2.3 添加记录 260
12.2.4 导出数据库 262
12.2.5 删除数据库或数据表 264
12.2.6 导入数据库 264
12.3 SQL语法 266
12.3.1 SELECT指令(筛选数据) 268
12.3.2 INSERT指令(添加记录) 273
12.3.3 UPDATE指令(更新记录) 274
12.3.4 DELETE指令(删除记录) 274
学习评估 274
第13章 访问MySQL数据库 276
13.1 PHP与MySQL数据库 277
13.2 建立与关闭数据连接 279
13.2.1 建立数据连接 279
13.2.2 关闭数据连接 281
13.3 访问MySQL数据库服务器 281
13.3.1 获取MySQL客户端函数库的版本信息 281
13.3.2 获取MySQL主机的相关信息 282
13.3.3 获取MySQL数据库协议的版本信息 283
13.3.4 获取MySQL数据库服务器的版本信息 284
13.3.5 获取存取MySQL数据库服务器的错误信息 285
13.4 执行SQL指令 285
13.4.1 使用mysqli_select_db函数打开数据库 286
13.4.2 使用mysqli_query函数执行SQL指令 287
13.4.3 获取执行SQL查询被影响的记录笔数或字段数目 289
13.5 获取字段信息 290
13.5.1 使用mysqli_fetch_field_direct函数获取字段信息 290
13.5.2 使用mysqli_fetch_field函数获取字段信息 293
13.5.3 使用mysqli_field_seek函数移动字段指针 294
13.6 获取记录内容 294
13.6.1 使用mysqli_fetch_row函数获取记录内容 294
13.6.2 使用mysqli_fetch_array函数获取记录内容 296
13.6.3 使用mysqli_fetch_assoc函数获取记录内容 298
13.6.4 使用mysqli_fetch_object函数获取记录内容 299
13.6.5 使用mysqli_data_seek函数移动记录指针 299
13.7 分页浏览 300
学习评估 303
第14章 移动商品目录 304
14.1 设计移动版网站界面 305
14.2 完整的程序代码清单 306
第15章 Google地图应用网站 311
15.1 认识Google API 312
15.2 在网页上加入Google Maps 312
第16章 文件上传 317
16.1 认识文件上传 318
16.1.1 前置准备工作 318
16.1.2 编写前端的文件上传界面 319
16.1.3 编写后端的处理程序 320
16.2 上传单一文件 322
16.3 上传多个文件 325
第17章 留言板与讨论组 328
17.1 留言板 329
17.1.1 组成网页的文件列表 330
17.1.2 网页的运行流程 331
17.1.3 必须具备的背景知识 331
17.1.4 完整的程序代码列表 332
17.2 讨论组 336
17.2.1 组成网页的文件列表 338
17.2.2 网页的运行流程 339
17.2.3 必须具备的背景知识 340
17.2.4 完整的程序代码列表 340
第18章 在线寄信服务 348
18.1 认识在线寄信服务 349
18.2 使用mail函数发送邮件 350
18.2.1 传送纯文本邮件 350
18.2.2 发送HTML格式的邮件 352
18.2.3 发送邮件给副本及密件抄送收件人 353
18.2.4 发送有附加文件的邮件 355
18.3 无法发送附加文件的在线寄信服务 358
18.4 能够发送附加文件的在线寄信服务 361
第19章 会员管理系统 365
19.1 认识会员管理系统 366
19.2 组成网页的文件列表 368
19.3 网页的运行流程 369
19.4 必须具备的背景知识 370
19.5 完整的程序代码清单 370
第20章 在线投票系统 391
20.1 认识在线投票系统 392
20.2 组成网页的文件列表 392
20.3 网页的运行流程 393
20.4 必须具备的背景知识 394
20.5 完整的程序代码清单 394
第21章 购物车 403
21.1 认识购物车 404
21.2 组成网页的文件列表 406
21.3 网页的运行流程 407
21.4 必须具备的背景知识 408
21.5 完整的程序代码清单 409
第22章 网络相册 422
22.1 认识网络相册 423
22.2 组成网页的文件列表 427
22.3 网页的运行流程 428
22.4 完整的程序代码清单 430


附录A HTML语法教学 453
(PDF电子文件,见下载资源)
附录B HTML标签与属性速查 475
(PDF电子文件,见下载资源)
附录C HTML特殊字符表 498
(PDF电子文件,见下载资源)
內容試閱
关于本书PHP是极为普遍的服务器端的脚本语言(Script),具有免费、稳定、快速、跨平台和面向对象等优点。在PHP 7于2015年12月发布之前的十年间,虽然PHP 5持续不断地推陈出新,但都是幅度较小的修改,对于全球采用PHP作为后端开发语言的超过两亿多个网站来说,这些网站需要更加卓越的性能。PHP的开发者于是着手优化PHP,重新查看和改写PHP语言源程序,使得PHP程序的运行性能翻倍。除了运行性能大幅提升,PHP 7还有其他新特色,例如使用更少的内存、Abstract Syntax Tree(抽象语法树)、完全支持64位、强化随机数生成器的安全性、优化例外处理架构、将fatal error(严重错误)转换为例外处理、标量类型的声明、返回值数据类型的声明、?? 运算符、 运算符、使用define定义常数数组、匿名类等。本书的另一个主角MySQL则是一套关系数据库管理系统,它和PHP一样属于开放源代码(开源),若纯粹为个人用途,则不需要申请即可免费使用,而且具有快速、简单、可靠、功能齐全、跨平台等优点。本书特点本书除了详细解说PHP的语法,更针对在网页之间传递信息、表单的后端处理、HTTP Header、Cookie、Session、文件存取、GD绘图与图像处理、例外与错误处理、面向对象、使用Ajax、访问MySQL数据库、SQL查询等主题做了深入浅出的解说,让你克服初学者的迷茫,向专业的程序设计之路迈进。此外,为了顺应网站推出移动版的潮流,本书不仅示范了如何根据上网的设备自动切换PC版网页和移动版网页,同时另辟专章介绍如何使用jQuery Mobile快速开发移动版网站,以及如何在移动版网站内使用PHP与MySQL进行数据库访问。更重要的是本书还提供了丰富的范例,可以满足你制作各种专题、项目及参与技能竞赛的需求,包括移动商品目录、建立Google地图应用网站、文件上传、访客留言板、讨论组、在线寄信服务、会员管理系统、在线投票系统、购物车、网络相册等。网络资源下载内容本书提供网络下载资源文件,便于你参考书中的范例程序开发自己的程序,但请勿贩卖或散布。? AppServ:这套开放源码软件可以快速建立Windows Apache MySQL PHP的运行环境,详细的安装方式请参考第1.3节。? 本书范例程序与数据库:包括 \samples与 \database文件夹,详细的安装方式请参考第1.5节和第12.2.6节。? 附录篇PDF电子书:包括附录A(HTML语法教学)、附录B(HTML标签与属性速查)、附录C(HTML特殊字符表)。? 下载地址为http:pan.baidu.coms1dFu1fKd(注意区分字母的大小写)或者直接扫描二维码(如右所示)。如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题设置为求PHP 7 & MySQL跨设备网站开发下载资源。排版惯例本书在列出程序代码、关键词、标签、属性及语法时,遵循下列的排版惯例:? HTML不会区分英文字母的大小写,本书将采用小写英文字母;PHP中变量名称与常数名称会区分英文字母的大小写。? 斜体字表示用户自行输入的属性值、语句、表达式或名称,例如function func_name{} 的func_name表示用户自行输入的函数名称。? 中括号 [] 表示可以省略不写,例如round(num [, precision])表示round函数的第二个参数precision为选择性参数,可以指定,也可以省略不写。? 垂直线|用来隔开替代选项,例如return;|return value; 表示return关键词后面可以不加上返回值,也可以加上返回值。


第20章在线投票系统
从本章节可以学习到:※ 认识在线投票系统※ 组成网页的文件列表※ 网页的运行流程※ 必须具备的背景知识※ 完整的程序代码清单20.1 认识在线投票系统你想设计一个在线投票系统吗?本章可以让你如愿哦!你可以选择自己喜欢的明星,然后输入身份证号码,单击投票按钮,即可完成投票,如图20-1所示,若里面没有你喜欢的明星,可以单击推荐候选人按钮来推荐候选人,如图20-2所示,同时你也可以单击查看投票结果按钮来查看投票结果,如图20-3所示。图20-1 图20-2 图20-320.2 组成网页的文件列表这个在线投票系统存放在网络下载资源的 \samples\ch20\ 文件夹中,总共用到如表20-1所示的文件。表20-1 在线投票系统用到的文件文件名 说明4个JPEG图像文件 其中3个JPEG图像文件用来作为各个网页的标题图像,另一个JPEG图像文件用来作为直方图index.php 这是在线投票系统的首页,浏览者可以在此投票,执行界面如图20-1所示recommend.htm 这是推荐候选人的主程序,执行界面如图20-2所示recommend.php 这是推荐候选人网页的后端处理程序,它会检查你所推荐的人是否已经在候选人名单中,若候选人已经存在,就不用推荐了result.php 这是用来显示投票结果的网页,执行界面如图20-3所示vote.php 当浏览者在 单击投票时会执行这个程序,它负责将被投票人的得票数加1vote数据库 这个在线投票系统使用了名称为vote的数据库,里面包含candidate和id_number两个数据表,用来存储候选人数据及投票人的身份证号码在这个在线投票系统中,我们使用了名称为vote的数据库,里面包含candidate和id_number数据表,用来存储候选人数据及投票人的身份证号码,其字段结构如表20-2所示。你可以自己建立数据库或导入本书为你准备的数据库备份文件(位于下载资源的\database\vote.sql文件夹中)。(本范例程序以中国台湾地区的身份证号码为例)表20-2 candidate数据表字段结构字段名 数据类型 长度 主键 说明id INT - ? 编号字段自动编号(auto_increment)Name VARCHAR 20 ? 候选人姓名字段introduction TEXT - ? 候选人简介字段score INT - ? 分数字段表20-3 id_number数据表字段结构字段名 数据类型 长度 主键 说明Id VARCHAR 10 ? 身份证号码字段20.3 网页的运行流程网页的运行流程如图20-4所示。图20-420.4 必须具备的背景知识? 首先,必须熟悉HTML语法或其他网页编辑软件。? 其次,必须了解表单的制作方式及如何读取表单数据。? 其三,基本的JavaScript语法,我们将使用它来验证身份证号码。? 最后,必须熟悉SQL语法及如何访问MySQL数据库。20.5 完整的程序代码清单 index.php这是在线投票系统的首页,浏览者可以在此投票,运行时的网页显示界面如图20-1所示。\ch20\index.php001:002:003: 004:在线投票005:006:007: function check_data008: {009:var id = document.myForm.id.value;010:var tab = "ABCDEFGHJKLMNPQRSTUVWXYZIO";011:var A1 = new Array(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3);012:var A2 = new Array(0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5);013:var Mx = new Array(9,8,7,6,5,4,3,2,1,1);014:015:将身份证号码的英文字母转换为大写016:id = id.toUpperCase;017:018:验证身份证号码是否为10位019:if(id.length != 10)020:{021: alert("身份证号码共有10位");022: return false;023:}024:025:验证身份证号码的第一位是否为英文字母026:var i = tab.indexOf(id.charAt(0));027:if(i == -1)028:{029: alert("身份证号码第一位是英文字母");030: return false;031:}032:033:验证身份证号码高级规则034:var sum = A1[i] A2[i] * 9;035:var v;036:for(i = 1; i 074: 075: 076:
077:078: 079:080: 候选人081: 候选人介绍082:083: ";095: echo " ";096: echo "name''$row-name";098: echo "$row-introduction";099: echo "";100:}101:102: 关闭数据连接103: mysqli_close($link);104:?105: 106:请输入您的身份证号码:107:108: 109:110:111: 112: 113: 115: 117:
118: 119:120: ? 007 ~ 072:check_data函数用来审核投票者输入的身份证号码是否正确,以及判断投票者是否选择了候选人,必须通过这两项验证才能继续执行。? 009:获取表单中id字段的数据,然后赋值给变量id。? 011 ~ 013:建立三个数组来存放验证身份证号码的数据。? 016:调用toUpperCase函数将变量id的英文字母转换成大写。? 019 ~ 023:这个部分用来验证身份证号码是否有10个字符,若没有10个字符,就显示身份证号码共有10位。? 026 ~ 031:检查身份证号码的第一个字符是否是大写的英文字母,若不是就显示身份证号码第一位是英文字母。? 034 ~ 052:身份证号码的命名规则除了要有10位、首字符为大写英文字母之外,还有一个非常重要的命名规则,就是身份证号码的第2 ~ 10位必须为数字,第039 ~ 043行就是用来验证此规则的。此外,我们还必须套用身份证验证公式计算出一个数字。第045行的变量sum就用来存放这个数字,而且这个数字必须能被10整除,第048 ~ 052行就是用来验证此规则的。必须通过所有条件才算是一个合法的身份证号码。? 055 ~ 069:这个部分用来验证投票者是否选择了候选人。 vote.php当浏览者在网页的首页 中单击投票按钮时会执行这个投票程序,它负责将投票者的身份证号码写入数据库,并把被投票人的得票数加1。\ch20\vote.php01:";20:echo "alert(''您已经参加过本次活动了'');";21:echo "history.back;";22:echo "";23:exit;24: }25: 否则将身份证号码写入数据库并将被投票人的得票数加126: else27: {28:释放内存空间29:mysqli_free_result($result);30:31:将浏览者的身份证号码写入id_number数据表,表示已投过票32:$sql = "INSERT INTO id_number(id)VALUES(''$id'')";33:$result = execute_sql($link, "vote", $sql);34:35:将得票数加136:$sql = "UPDATE candidate SET score = score 1 WHERE name = ''$name''";37:$result = execute_sql($link, "vote", $sql);38: }39:40: 关闭数据连接41: mysqli_close($link);42: 重定向到投票结果网页result.php43: header("location:result.php");44:?? 05 ~ 06:获取首页 表单中的身份证号码(id)及候选人(name),然后调用strtoupper函数将变量 $id的英文字母转换成大写。? 11 ~ 38:使用身份证号码来验证投票人是否投过票,变量id用来与vote数据库内id_number数据表的id字段进行对比,若有一样的身份证号码,表示已经投过票,就不能再投票;若没有一样的身份证号码,第32、33行将变量id的值写入vote数据库内id_number数据表的id字段,这个方法可以防止同一人多次投票,以防投票结果被灌水;第36、37行用来将被投票者的票数加1,并更新到candidate数据库。 result.php这是用来显示投票结果的网页,运行时网页显示界面如图20-3所示。\ch20\result.php01:02:03: 04:投票结果05:06: 07: 08:
09:10: 11:候选人12:得票数13:得票百分比14:直方图15: 16: 17: score;34:35:将记录指针移到第1条记录36:mysqli_data_seek($result, 0);37:38:列出所有候选人得票数据39:for($j = 0; $j ";49: echo "" . $row["name"] . "";50: echo "" . $row[''score''] . "";51: echo "" . $percent . "%";52: echo "";54: echo "";55:}56:57:释放内存空间58:mysqli_free_result($result);59:60:关闭数据连接61:mysqli_close($link);62: ?63: 64:总计65:66:100%67:68: 69:70:回首页
71: 72:? 31 ~ 33:计算总投票数。? 36:当前记录指针已经抵达数据表尾端,于是调用mysqli_data_seek函数将记录指针移到第1条记录。? 39 ~ 55:显示每个候选人的名称、得票数、得票百分比和直方图。 recommand.html这是推荐候选人的主程序,运行时网页显示界面如图20-2所示。\ch20\recommand.html 推荐候选人
候选人姓名 候选人介绍

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.