《PHP与MySQL动态网站开发》笔记

第18章 示例---用户注册

模块 将网站中常用的模块单独做成一个文件,之后在需要的页面用使用文件包含即可多次复用。 常见的模块有:数据库配置文件、网站配置文件、顶部管理块、底部信息块、导航菜单块 数据库配置文件 数据库配置模块文件中存放连接数据库所需的信息和连接后的句柄。 php define('DB_HOST', 'localhost'); //数据库主机 define('DB_USER', 'root'); //数据用户名 define('DB_PASS... 阅读全文>>

第16章 面向对象编程入门

基础概念 类:一种数据模板,可构造数据对象 属性:类中的变量称为该类的属性 方法:类中的函数称为该类的方法 复杂概念 继承、访问控制、方法重载、作用域、抽象 面对过程与面向对象 面向过程:更快的学习和使用,特别是小项目,缺点是代码难以维护和扩展 面向对象:更容易维护,缺点是更难掌握,出错时不容易解决 两种编程风格各有优缺点,我们要同时利用这两种风格的优势,而不是对其中一种有偏见不去用它。 实例化对象 使用new关键字并调用... 阅读全文>>

第15章 jQuery简介

介绍 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活... 阅读全文>>

第14章 Perl兼容的正则表达式

基本概念 正则表达式匹配串(模式)必须用分隔符作为开头和结尾,比如一个正斜杠(/)。 分隔符可以使任意非字母数字,除反斜杠(\)和空字节之外的非空白 ascii 字符。 PHP中的模式串最好使用单引号,以防止被PHP转义 PCRE函数库实现了与 perl5 在语法和语义上略有差异的正则表达式模式匹配功能 正则表达式不适合用于经常性的匹配,因为它的效率不够高。 元字符 元字符是被赋予了特殊含义的字符,有两种不同的元字符:一种是可以在模式中方括号外任何地... 阅读全文>>

第13章 安全性方法

使用类型验证数据 PHP对于每一种类型都有特定的类型验证函数: is_bool(), is_array(), is_numeric(), isfloat(), is_int(), is_null(), is_resource(), is_scalar(), is_string(), is_nan() 强制类型转换:$var = (type)$var 验证上传文件类型 方法: php $fileinfo = finfo_open(FILEINFO_MIME_T... 阅读全文>>

第12章 cookie和session

设置cookie cookie是服务器保存在用户的计算机上少量数据,cookie通过http头部传递。 设置一个cookie: php setcookie(name, value); 注意:cookie发送必须在输出其它信息之前 设置cookie的更多信息 php setcookie(name, value, expiration, path, host, secure, httponly); 参数解释: expiration: 设置... 阅读全文>>

第11章 web应用程序开发

发送电子邮件 语法: php mail(address, theme, content , header) 参数解释: address: 邮件地址,多个之间用逗号隔开 theme: 邮件主题 content: 邮件内容 header: 设置发件人("From:" + name)、回复(Replyto)、抄送(Cc)、密件抄送(Bcc)、 php手册api参考 注:此功能需要在服务器上安装邮件服务器软件。 文件上传 文件上传的php.in... 阅读全文>>

第10章 常用编程技术

给脚本发送数据 有两种方法: 通过表单给脚本发生数据 通过URI给脚本发生数据: http://example.com?name1=value1&name2=value2&... 查询数据保存在$_GET数组中 手动指定URI时,需要进行URI编码: php $url = 'page.php'?name' . urlencode(string); 给查询结果分页 分页效果的页面是相同的,不同的是数据。分页使用LIMIT实现,只要保证每页的LI... 阅读全文>>

第8章 错误处理和调试

错误类型 HTML错误、PHP错误、SQL错误和MySQL错误 基本问题: PHP和MySQL版本问题:查看PHP和MySQL版本特性 web服务器或版本问题:查看web服务器特性 web浏览器或版本问题:使用不同的web浏览器运行页面 调试HTML 方法: 1. 检查源代码 2. 使用验证工具(validator.w3.org) 3. 使用浏览器调试 4. 使用Firefox插件 5. 更换浏览器进行测试 display_erro... 阅读全文>>

第7章 高级SQL和MySQL

联结 联结是将两个表或者多个表看为一个大表来使用SQL查询。 分类: 内联结: 在表中存在至少一个匹配时返回记录 外联结:返回两个表都匹配的记录和不匹配的记录。有三种类型: 1. 左联结:以左表为主,返回左表的所有记录,右表中不匹配的记录返回NULL 2. 右联结:与左联结相反,以右表为主,返回右表的所有记录,左表中不匹配的记录返回NULL 3. 全联结:MySQL不支持。但可以使用左联结、右联结和UNION来实现。 语法: sql SELEC... 阅读全文>>

第6章 数据库设计

数据库设计流程 1. 定义应用程序作用,设计原始表 2. 指定主键 3. 第一范式(1NF) 4. 第二范式(2NF) 5. 第三范式(3NF) 6. 审查设计 指定主键 主键满足的规则: 有值(非NULL) 不变值(永不改变) 在表中唯一(唯一性) 没有满足以上规则的列则创建一个 主键使用整数可以提高数据库性能 外键:表A中主键在表B中的代表 第一范式(1NF) 对表的横向约束,规则: 每一列只有一个值,不满足则... 阅读全文>>

第5章 SQL简介

资料:http://www.runoob.com/sql/sqltutorial.html SQL命令不区分大小写,一般用大写,以区分数据库标识符 引号 文本值、日期和时间值需要引号括起来。 可以在引号中使用转义字符。 反引号\name\用来安全引号可能与MySQL关键字重复的标识符。 USE语句 用于切换当前数据库: sql USE database_nanme; CREATE语句 创建数据库: sql CREATE DAT... 阅读全文>>