一篇文章教你使用html+css开发商业网站

(一)初探网页结构 :

HTML(Hypertext markup language)即超文本标签语言,是用于描述网页文档的一种标记语言。一个 HTML页面由各种标签组成.

HTML的特点:

  • 简易性。HTML 的各种标签语言简单易学,能够很方便的开发网页。
    ​
     平台无关性。各种操作系统平台与浏览器均能很好的解析 HTML 文件。
HTML 文档的结构:
1.1.1 HTML 的基本结构:

完整的 HTML 文件至少包括<html>标签、<head>标签、<title>标签和<body>标签,且这些标签式成对出现
的,起始标签为<标签名>、结束标签为</标签名>,可以在标签起始于结束之间添加内容。一个完整的标签组成一个标签元素
​
HTML 的基本结构分为两部,分别是头部(head)和主体(body)。

(1)<html>:标签 HTML 内容的开始和结束,页面中的所有内容都必须包含在<html>和</html>之间。

(2)<head>:标记 HTML 文件的头部,包含不再正文中显示的关键字、标题和脚本等。

(3)<title>:标记 HTML 文件的标题,打开 HTML 页面时,标题会显示在 IE9 浏览器的选项卡上。

(4)<body>:标记 HTML 文件的正文部分,所有显示在网页中的内容均包含在该标签内

注意:

HTML 标签成对出现的,<head>和</head>就是一对 HTML 标签。标签中可以嵌套另外的标签,所以<head>标签中可以嵌套<title>标签,标签名称建议使用小写字母。
1.1.2 使用记事本开发 HTML 页面 :
<html>
<head>
 <title>Tzl-html 课程</title>
</head>
<body>
 我制作的第一个页面。It is so cool!
</body>
</html>
​
​
保存编写的内容后,关闭“记事本”,将该文本的名称和后缀修改为 first.html。
(3)使用 IE 浏览器打开 first.html 文件
1.1.3 使用 Adobe Dreamweaver CS6 开发网站 :

(1)<! DOCTYPE >声明位于文档中最前面的位置,在<html>标签之前,此标签可告知浏览器文档使用哪种 HTML 或 xhtml 规范。
(2)<meta>标签,该标签用于描述页面的具体摘要信息,包括文档内容类型,字符编码信息,搜索关键字,网站提供的功能与服务的描述信息等。

注意:

<meta>标签描述的内容并不显示,其目的是方便浏览器或利用搜索引擎搜索,它采用“名称/值”对的方式描述摘要信息。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>工具的使用</title>
</head>
<body>
<h1>使用 DW 开发网页</h1>
 <p> Adobe Dreamweaver CS6 是网页三剑客之一 </p>
</body>
</html>
1.1.4 设置页面背景或背景图片 :

使用 Web 浏览器网页时,其背景为白色,如果想为背景添加好看的颜色或图片,则可以使用<body>标签的 bgcolor 属性设置背景颜色,使用 background 属性设置网页的背景图片

语法:

<body bgcolor=”背景颜色” backround=”背景图片”>
„„
</body>

示例1:

<html> 
<head> 
<title>背景颜色设置</title> 
</head> 
<body bgcolor="yellow">
背景为黄色的页面。It’s so cool!
</body>
</html>

示例2:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>背景图像设置</title>
</head>
<body background="spring.jpg">
21 世纪是互联网的时代,IT 行业到处是欣欣向荣的景象!
</body>
</html>
文本相关的标签:
1.2.1标题标签 :
HTML 提供了六级标题,其中<h1>为最大级别、<h6>为最小级别。用户只需要定义从<h1>至<h6>中的一种,浏览器即会按级别显示标题内容。

示例:

<html> 
<head> 
<title>不同等级的标题</title> 
</head> 
<boby>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</boby>
</html>
示例 1.4 在浏览上。
1.2.2字体标签 :
<font>是字体标签,用于控制网页上的文体的显示外观。字体大小、字体类型和颜色等属性均可通过<font>标签的属性来指定

示例:

<font size=“5”color=“red” face=“隶书”> 
 文本内容
</font>
属性  			说明
size 		用于设置字体的大小,取值范围为 1 至 7,默认为 3
face 		用于设置字体类型,如“黑体”、“隶书”等
color      用于设置字体的颜色。可用颜色的名称,如 red 代表红色,green代表绿色。还可以  使用十六进制代表颜色值,如#FF0000 表示红#00FF00
表示绿色

字体形状标签及其作用

标签名称 			说明
<i> 				设置为倾斜字体
<u> 				用于加下划线
<sub> 				设置字体为下标
<sup> 				设置字体为上标
<strong> 			定义加重语气的字体
<b> 				设置字体为粗体
1.2.3段落标签 :

我们使用<p>标签可以将文本内容组合为段落。段落标签中的内容会单独占一行显示,并与其他标签的内容形成一定的段落间距,还可以使用<p>的属性控制其内容显示的对齐方式等.

语法:

<p align=”对齐方式”>段落内容</p>
align 表示段落的对齐方式,其取值可以为 left、right 和 center,它们分别表示段落内容居左、居右和居中。
1.2.4 换行标签 :

我们可以看到段落内容与其他内容之间是换行显示的,如果想将段落中的文本内容换行处添加 标签实现换行显示,该标签内并不需要添加内容,可以直接关闭。

注意:

在 HTML 代码中,通过回车键将代码换行后不会使页面中的显示内容换行,浏览器显示页面内容的换行是通过标签<br/>来实现的。
1.2.5 水平线标签 :

水平线标签用<hr/>表示,其作用是在页面中绘制水平线分隔线,该标签可以直接关闭。

语法:

<hr size=”高度” color=”颜色” width=”宽度” />
其中,size 属性用于指定水平线的高度,以像素为单位;color 属性用于设置水平线的颜色;width 属性用于改变水平线的宽度,可以像素为单位,也可以使用窗口的百分比。

示例:水平金字塔

<html> 
<head> 
<title>标签绘制金字塔形状</title> 
</head> 
<body>
<h3 align="center">水平线金字塔</h3>
<hr color="#000000" width="100%"/>
<hr size = "5" color="yellow" width="50"/>
<hr size = "5" color="yellow" width="100"/>
<hr size = "6" color="yellow" width="200"/>
<hr size = "7" color="yellow" width="300"/>
<hr size = "8" color="yellow" width="400"/>
<hr size = "9" color="yellow" width="500"/>
<hr size = "10" color="yellow" width="600"/>
</body>
</html>
1.2.6 HTML 文档注释和特殊字符 :
1. HTML 文档注释
在 HTML 网页中,可以使用“<!--注释内容-->”加入页面注释,注释中的内容将被浏览器忽略。

语法:

<!--注释内容-->

注意:

HTML 注释与标签的用法相同,不能交叉使用,“<!--”要与其后出现的“-->”相匹配。

HTML 实体与特殊符号

HTML实体     显示结果 描述
&lt 		< 小于号
&gt;		 > 大于号
&amp;		 & &符号
&reg;		 ® 己注册
&copy; 		© 版权
&trade; 	TM 商标
&nbsp; 		空格 空格符
&quot; 		“ 引号
图片相关的标签:
1.3.1 图像标签的使用 :
常见的图片格式有 JPEG、GIF 和 PNG 等格式。JPEG 文件的后缀名为.jpg 或 jpeg。GIF 图片文件的后缀名为.gif,它是最多支持 256 种色彩的图像

语法:

<img src=”路径” alt=”提示信息” align=”对其方式” border=”边框大小” width=”宽度” height=”高度” />在<image>标签中,src 属性用于设置图像文件所在的位置,width 和 height 属性用于指定图像的宽度和高
度。alt 属性用于表示两种提示文字:第一种是,如果图像没有被下载,则会在图像位置上出现的提示文字;第二种是,如果图像下载完毕,将鼠标放在该图像上,在鼠标旁边出现的提示文字。img 标签的使用见示

示例:

<p>
<img src="images/iphone.jpg" alt="点击购买苹果 5 手机" width="200" height="200"/><br/>
Apple 型号: iPhone 5<br/>
手机价格区间: 4000 元以上<br/>
网络类型: GSM/WCDMA/LTE<br/>
</p>
1.3.2 图像标签的属性 :
<img>标签的 src 属性用于设置图片的位置,如果 src 的路径设置错误,则会导致<img>标签引用的图片不能显示。为了避免这些错误,必须正确地引用文件路径及名称。HTML 路径有两种类型:相对路径和绝对路径

两种路径方式:

(1)相对路径:相对于页面的路径。
	①如果网页和所引用的图片在同一个目录中,则直接输入引用文件名即可
	<img src=”bg.jpg”/>
	②如果所要引用的图片位于网页的上一级目录中,则使用“../”符号,该符号表示当前目录的上级目录,依次类推“../../”表示当前目录的上上级目录
	<img src=”../bg.jpg”/>
	③如果所要引用的图片在页面的下一级目录中,则直接写目录和文件名即可
	<img src=”images/bg.jpg”/>
	
(2)绝对路径:文件所在位置的完整路径。
	图片的绝对路径指的是图片所在位置的完全路径,它分为本地绝对路径和网络绝对路径。本地绝对路径是包括盘符和目录的完全路径。
	那么,project.jpg 的绝对路径是“D:\project\images\product.jpg”。网络绝对路径即资源的网站,如 http://www.baidu.com/images/product.jpg
	

图像与文本的对齐:

<img>标签的 align 属性可用于调整图片相对于周围文本的对齐方式.
align 属性的取值可为 top、bottom、middle、left 或 right,如<img align=”middle”>。当 align 取值为 top 时,图片周边的文字与图片顶端对齐;当 align 取值为 bottom 时,图片周边的文字与图片底端对齐;当 align 取值为 middle 时,图片周边的文字与图片中间对齐

示例:

<body>
联想电脑型号:Lenovo U310-ITH
<img src="images/lenovo.jpg" alt="联想电脑" align="top"/>
爆款全网最低,极致轻薄,多彩时尚,送无线鼠标。
<hr/>
联想电脑型号:Lenovo U310-ITH
<img src="images/lenovo.jpg" alt="联想电脑" align="middle"/>
爆款全网最低,极致轻薄,多彩时尚,送无线鼠标。
<hr/>
联想电脑型号:Lenovo U310-ITH
<img src="images/lenovo.jpg" alt="联想电脑" align="bottom"/>
爆款全网最低,极致轻薄,多彩时尚,送无线鼠标。
</body>
1.3.3 图像与文字的滚动 :
使用<marquee>标签可以实现文字或图片的滚动特效,在页面中实现滚动特效可以吸引浏览者的注意,实现页面的滚动效果,

语法:

<marquee scrolldelay=”滚动延时” direction=”滚动方向”>
滚动文字或者图像
</marquee>

注意:

scrolldelay 表示滚动延时时间,默认值为 90ms。direction 表示滚动的方向,默认为从右向左。可以取 up、down、left、和 right 这 4 个值,

示例:

<body>
<img src="images/taobao.png" />您好,欢迎来到淘宝网!<br/>
<marquee scrolldelay="100" direction="up">
<h4><a name="digital">数码产品<a></h4>
<img src="images/d1.png"/>
<img src="images/d2.png"/>
<img src="images/d3.jpg"/>
</marquee>
</body>

超链接相关的标签:
1.4 超链接标签 :

所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是同一个网页中的不同位置,还可以是一个 Email 地址等。

1.4.1 页面间链接 :

语法:

<a href=”链接地址” target=”目标窗口位置”> 链接文字或图像 </a>

示例:

<p>
<a href="img.html" target="_blank">苹果手机</a>
<a href="img_align.html" target="_blank">联想电脑</a>
</p>

注意:

超链接标签的属性 href 的取值为其链接页面的路径,可以使用链接页面的相对地址或绝对地址。

其地址可以是本地的,也可以是网络中的 URL 路径

http://www.baidu.com/index.html 就是一个网络 URL,而 C:\project\index.html 则是一个本地网页路径

示例:

<a href="http://www.iqiyi.com">奇艺高清</a>
<a href="http://www.tudou.com">土豆网</a>
<a href="http://tv.sohu.com">搜狐视频</a>
<a href="http://www.letv.com">乐视网</a>
<a href="http://www.kankan.com">迅雷看看</a>
1.4.2 锚点链接 :

创建锚点链接的步骤:

(1)在页面中创建锚点,使用<a>标签的 name 属性创建锚点。
		<a name=”锚点名称”> 内容 </a>
(2)在页面中创建锚点链接,语法如:<a href=”#锚记名称”> 内容 </a>。在超链接 href 属性值中的“#”中,通知浏览器该链接将链接到页面内的某个锚记点
1.4.3 电子邮电链接 :

可以通过在超链接标签中插入 mailto:邮箱地址来实现在网页中发送电子邮件的功能

示例:

<a href="mailto:webmaster@taobao.com">站长信箱<a>

(二)排列网页内容 :

列表标签:
2.1.1 无序列表 :

语法:

<ul type ="项目符号类型">
<li>列表项内容</li>
<li>列表项内容</li>
<li>列表项内容</li>
</ul>

注意:

无序列表标签的 type 属性决定了列表项开始的符号,它可以取 disc(默认值,表示实心圆)、circle(空心圆环)和 square(正方形)这 3 个值
2.1.2 有序列表 :

语法:

<ol type="序号类型">
<li>列表项</li>
<li>列表项</li>
</ol>

注意:

有序列表项中的 type 属性决定有序列表的序号类型,它可以取 1、a、A、i 和 I 这五个值他们分别表示数字序列、小写罗马数字序列以及大写罗马数字序列
2.1.3定义列表 :

语法:


经验:

在实际应用中,定义列表还被扩展应用到图文混合的场合,将产品图片作为定义标题<dt>,文字内容作为定义描述<dd>。这种局部布局结构在商品展示中广泛使用。
表格标签:
2.2.1 表格的基本结构:

表格至少由<table>标签、<tr>标签和<td>标签这三种标签组成,否则,就不能成为完整的表格。<table>……</table>标签中包括所有表格元素,表格元素主要有行、列和单元格等。

语法:

<table>
<tr>
	<td>第 1 行第 1 个单元格的内容</td>
	<td>第 1 行第 2 个单元格的内容</td>
	„„
</tr>
<tr>
	<td>第 2 行第 1 个单元格的内容</td>
	<td>第 2 行第 2 个单元格的内容</td>
	„„
</tr>
</table>

相关标签:

标签名称 	使用说明
<table> 	用于在 HTML 文档中创建表格,在表格中有多行
<tr> 		用于在表格中定义表格的行,在行中有多个单元格
<td> 		用于定义行中的单元格,实际也是一行中的一列
<th> 		用于定义表格的标题列,该标签和<td>类似,放置于<tr>标签中
2.2.2 表格的使用:
(1)创建表格标签<table>……</table>
(2)在表格标签<table>……</table>中创建行标签<tr>……</tr>,可以有多行
(3)在行标签<tr>……</tr>中创建单元格标签<td>……</td>,可以有多个单元格。
有为了显示表格的边框,通常还需要设置<table>标签的“border”属性,通过“border”属性来设置表格边
框的宽度
2.2.3 合并单元格:

语法:跨列

<table>
<tr>
	<td colspan="所跨的列数">单元格内容</td>
</tr>
</table>

col 为 column (列)的缩写,span 为跨度,所以 colspan 意思为跨列

示例:

<table border="1">
<tr>
<td colspan="3">
	<font face="黑体" size="4">全球 IT 企业 2012 年底市值排行榜		</font>
</td>
</tr>
<tr>
	<td>排名</td><td>IT 企业</td><td>市值</td>
</tr>
<tr>
	<td>1</td><td>苹果</td><td>5006.1 亿美元</td>
</tr>
<tr>
	<td>2</td><td>谷歌</td><td>2324.4 亿美元</td>
</tr>
<tr>
	<td>3</td><td>三星</td><td>2290.7 亿美元</td>
</tr>
<tr>
	<td>4</td><td>微软</td><td>2248.0 亿美元</td>
</tr>
</table>

第一行的第一个单元格在水平方向上跨 3 列,因为表格总列数也是 3 列,所以第一行只需要一个单元格。

语法:跨行

<table>
	<tr>
		<td rowspan="所跨的行数">单元格内容</td>
	</tr>
</table>

row 为行的意思,rowspan 意思为跨行

经验:

根据需求合并单元格,要是每一行单元格里面有四列,第一行第一列使用了,rowspan=’2‘。那么第二行第一列的空间,就被占用了,所以第二行,就剩下三列。
2.2.4 表格的高级用法
(1) 表格标题标签<caption>,用于描述整个表格的标题。
(2) 表格表头<th>,用于定义表格的表头,通常是表格的第一行数据,以粗体、居中的样式显示数据。
<thead>对应表格的表头部分,<tbldy>对应表格的数据主体部分,<tfoot>对应表格的底部页脚部分,各分组标签内由多行<tr>组成
<table border="1">
<caption>数码之家季度报表</caption>
<thead>
<tr>
<th>月份</th><th>收入(RMB)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1 月</td><td>50000</td>
</tr>
<tr>
<td>2 月</td><td>60000</td>
</tr>
</tbody>
</tbody>
<tfoot>
<tr>
<td>平均月收入</td><td>50000</td>
</tr>
<tr>
<td>总计</td><td>150000</td>
</tr>
</tfoot>
</table>
表格美化修饰与布局:
(1)表格的高度、宽度和边框。

语法:

<table width ="宽度" height= "高度" border= "边框">„„</table>
其中,表格的宽度格高度可以用像素来表示,也可以用百分比(与浏览器当前窗口相比的大小比例)来表示。表格边框的宽度只能用像素表示。

示例:

<table width = "800" height="300" border="10" bordercolor="red">

(2)表格列与行的背景。

(1)表格背景:

语法:

<table bgcolor="整个表格的背景颜色" background ="表格背静图像地址">
„„
</table>
(2)行背景色:

语法:

<td bgcolor="单元格的背景色">„„</td>

(3)表格内容的对齐方式。

表格的对齐方式:
表格中的数据通常需要设置对齐方式,设置表格、行或列的对齐方式使用 align 属性,其取值可以为 right(右对齐)、center(居中)和 left(左对齐),默认为 left

(4)表格单元格的填充、间距的设置。

表格的填充与间距:

设置单元格的间距与填充使用 cellspacing 属性和 cellpadding 属性

语法:

<table cellspacing="单元格间距"cellpadding= "单元格内填充">
„„
</table>

<table cellspacing="80" cellpadding="30" border="3" bordercolor="red">
div 标签和 span 标签:
div标签:

语法:

<div> 其它标签或者内容</div>
<div>标签没有特定的含义,时用于组合其它 HTML 元素的容器。它是块级元素,浏览器会在块级元素的起始和结束处换行
span标签:
<span>标签也没有特定的含义,可以做文本的容器。<span>标签为行内元素,行内元素与其它行内元素并列在同一行显示,不会默认换行

(三)传递网页数据

掌握表单标签的用法:
表单
表单在网页开发中很常见,典型的应用场场景有以下几种:
(1) 网站的登陆、注册。
(2) 网上填写订单信息。
(3) 填写调查问卷。
(4) 网上输入关键字搜索。
如图 3.1.2 所示的网页就是一个注册页面,注册表单包含了以下表单元素:
(1) 文本框,常用于输入姓名、用户名和电子邮箱等。
(2) 密码框,用于输入密码,显示为代替字符,如星号(*)。
(3) 单选按钮,在多个选项中选择一个,如性别。
(4) 复选框,在多个选项中可以选择 1 个或者多个,如爱好。
(5) 下拉列表,在多个下拉列表选项中选择 1 个,如省份、月份等。
(6) 按钮,通常用于执行表单信息的提交或者是取消等功能。
表单的基本语法 :

使用<form>标签用于创建表单。在<form>标签体可以嵌入各种类型的表单元素。

语法:

<form name=”表单名字” action=”URL” method=”get/post”>
表单元素
</form>

name属性:

用于设置标识表单的名称。

action 属性:

用于设置处理表单提交数据的 URL。例如:
<form action=”URL”>„„</form>

method 属性:

其值可以取 get 和 post 两种

掌握各种表单元素:
表单元素的基本格式:

除下拉列表框,多行文本域等少数表单元素外,大部分表单元素均都使用<input>标签,只是他们的属性设

置不同,统一用法如下:

<input name=”表单元素名称” type=”类型” value=”值” size=”显示宽度”

maxlength=”能输入的最大字符长度” checked=”是否选中”/>
input元素的属性:
属性 		说明
Type 	指定表单元素的类型,可用的选项 text、password、checkbox、				radio、submit、file、hidden、image、和 button、默认						为 text
name 	指定表单元素的名称
value 	指定表单元素的初始值
size 	指定表单元素的初始宽度。如果 type 为 text 或 password,则表		单元素的大小以字符为单位;对于其他输入类型,宽度以像素为单位
maxlength 	指定可以在 text 或 password 元素中输入的最大字符串,默					认无限制
checked 	此属性只有一个值,为“checked”,表示选中状态,如果不选中,				则无须添加此属性
readonly 	当文本框的标签的 readonly 属性指定为“readonly”时,文本				框中的值不允许更改
文本框 :

表单中最常用的输入元素就是文本框(text),提供给用户输入的单行文本信息,如用户名的输入

示例:

姓名:<input type =”text” name=”isername” value=”jack” readonly =”readonly” size=”20”/><br/>
 邮箱:<input type=”text” name=”username” value=”xxx@/>
密码框 :

将表单元素的 type 属性设置为“password”就可以创建一个密码框,在密码框中输入的字符均以“.”显示,可以提高数据的安全性。

示例:

姓名:<input type =”text” name=”username” size=”20”/><br/>
 密码:<input type=”password” name=”pwd”/><br/>
单选按钮:

单选按钮用于一组相互排斥的选项,组中的每个选项应具有相同的名称(name),以确保用户只能选择一个选项,单选按钮对应的 type 属性为“radio”。

示例:

性别:<input type=”radio” name=”sex” value=”男” checked=”checked” />男
<input type=”radio” name=”sex” value=”女”/>女

复选按钮 :

复选按钮用于选择多个选项,将 input 的 type 属性设置为“checkbox”就可以创建一个复选框。

示例:

<input type=”checkbox” name=”hobby” value=”篮球” checked=”checked”/>
篮球
<input type=”checkbox” name=”hobby” value=”足球”/>足球
<input type=”checkbox” name=”hobby” value=”羽毛球”/> 羽毛球
<input type=”checkbox” name=”hobby” value=”唱歌” />唱歌
文件域 :

文件域用于上传文件,使用文件域表单元素只需要 type 属性设置为“file”即可

<form name=”myform” action =”” method=”post”>
 照片:<input type=”file” name=”photo”/><br/>
</form>
下拉列表框 :

它是通过<option>标签来实现的,<select>标签用于显示可供用户选择的下拉列表,每个选项用一个<option>标签标示,<select>标签必须包含至少一个<option>标签

语法:

<select name=”指定列表的名称”size=”行数”>
<option value=”可选择的值” selected=“selected”>显示项的内容</option>
<option value=“可选择的值”>显示项的内容</option>
„„
</select>
多行文本域 :

多行文本域用于显示或输入两行或两行以上的文本,它使用的标签是<textarea>

语法:

<textarea name=”指定名称” cols=”列数” rows=”行数”>
文本域的内容
</textarea>
其中,cols 用于来指
提交、重置与普通按钮 :

如果要禁用,则使用 disabled 属性设置其取值为“disabled”即可。

语法:

<input type=”submit” value=”提交按钮的显示值” name=”名称”/>
<input type=”reset” value=”重置按钮的显示值” name=”名称”/>
<input type=”button” value=”普通按钮的显示值” name=”名称”/>

理解 get 和 post 的区别:

get和post的区别:

①安全性:get提交信息,会出现在地址栏,post不会在地址栏,中出现,所以,post比get安全。
②提交的长度:使用 get 方式提交的数据有长度限制,使用 post 方式提交的数据没有长度限制,所以当使用表单提交的数据比较大时,建议使用 post 方式

示例:

<form action=”login_success.html” method=”get”>

(四)框架组合网页:

框架结构介绍:

使用内嵌框架可以在一个页面中嵌入另一个页面,这样可以实现重用某个页面的内容

框架集:
(1)框架(frame),是一个网页窗口的区域,该区域对应一个网页文件,次网页文件独立于其他区域的内
容。
(2)框架集(frameset)是一个网页文件,它将一个窗口通过横向和纵向的方式分隔成多个框架,每个框架中要显示的均为不同的网页文件。

语法:

<frameset cols =”25%,50%,*” rows=”50%,*” border=”5”> 
<frame src=”url” name=”名称”> 
„„
</frameset>

*表示剩余%的全部

< frameset >标签的 cols 属性表示将页面横向分隔为几列
< frameset >标签的 rols 属性表示将页面纵向分隔为几行
框架的使用
(1)按行组合框架,是将一个框架集页面按照行来进行分隔,每个行对应一个框架。
(2)按列组合框架,是将一个框架集页面按照列来进行分隔,每一个列对应一个框架。
(3)行列混合组合框架,是将一个框架页面按照行和列混合分隔,每个分隔的区域对应一个框架。

按行组合框架:

<html> 
<head> <title>按行划分的框架</title> </head> 
<frameset rows="25%,50%,*" border="5" bordercolor="red"> 
<frame src="top.html" name="topFrame"/> 
<frame src="mid.html" name="midFrame"/> 
<frame src="bot.html" name="botFrame"/> 
</frameset> 
</html>

注意:

在使用框架的页面中,< frameset >标签和<body>标签不能同时使用,所以需要使用< frameset >代替页面中的<body>标签。
按框架组合框架:

示例:

<html> 
<head><title>按列划分的框架</title> </head> 
<frameset cols="25%,50%,*" border="5" bordercolor="red"> 
<frame src="top.html" name="topFrame"/> 
<frame src="mid.html" name="midFrame"/> 
<frame src="bot.html" name="botFrame"/> 
</frameset> 
</html>
行列混合组合框架:
<html> 
<head> <title>IT 名企</title> </head> 
<body> 
<p><a href="http://www.baidu.com">百度</a></p> 
<p><a href="http://www.qq.com" target="rightFrame">腾讯</a></p> 
<p><a href="http://www.sina.com" target="rightFrame">新浪</a></p> 
</body> 
</html>
整个页面分为上下两行,高度分别为整个窗口的25%和75%,main.html对应的关键代码如下:
<frameset rows="25%,*"> 
	<frame src="第一行的页面"/> 
	<frame src="第二行的页面"/> 
</frameset>


第 2 行再次分为左右两部分,宽度分别为窗口的 20%和 80%,即需要将上述第 2 个<frame>修改为
<frameset>实现,对应的关键代码如下:
<frameset rows="25%,*"> 
		<frame src="top.html"/> 
	<frameset cols="20%,*"> 
		<frame src="left.html"/>
		<frame src="right.html"/>
	</frameset>
</frameset>
框架<frame>的常见属性:
属性 		作用 							举例
border 		是否显示框架周围的边框 			border=”1”
name 		框架标识名 					name=”mainframe”
scrolling 	是否显示滚动条 			scrolling=”no”
noresize 	是否允许调整框架窗口的大小 	noresize=” noresize”
实现窗口间的关联:
(1)在框架页面中,为右侧的框架页面添加“name”属性标识右侧的框架,关键代码如下:
<frame src="right.html" name="rightFrame"/>
(2)在左侧框架对应的页面中,设置超链接的“target”属性,设置打开的目标窗口,关键代码为:
<p>
<a herf=”http://www.baidu.com” target=”rightFrame”>百度</a>
</p>
<p>
<a herf=”http://www.baidu.com” target=”rightFrame”>腾讯</a></p>
<p>
<a herf=”http://www.baidu.com” target=”rightFrame”>新浪/a></p>
超链接 target 属性的取值:
属性值			含义
_blank 		在新窗口中打开链接
_self 		在链接所在页面的自身窗口中打开链接
框架窗口名 	在指定窗口的框架窗口中打开链接,即框架中name属性的取值
_parent 	在父框架中打开链接,如果不是框架页面,则含义_self
_top 		在顶级窗口即整个浏览器窗口中打开链接
内嵌框架:

<iframe>的使用:
<iframe scr=”页面地址” name=”框架名” frameborder=”边框” scrolling=”是否出现滚动条”></iframe>

示例:

<body> 
<iframe src="http://www.baidu.com" width="700px" 		  height="700px" frameborder="1"
scrolling="yes">
</iframe> 
<iframe src="http://www.soso.com" width="600px" height="700px" frameborder="1" 
scrolling="no">
</iframe> 
</body>
超链接与内嵌框架关联 :

首先需要为内框架添加 name 属性,通过 name 属性标识内嵌框架;然后通过设置超链接的 target 属性设置内嵌框架的名称,所链接的页面将会在所设置的内嵌框架中打开

(五)CSS 样式基础 :

CSS 是 Cascading Style Sheets 的缩写,通常翻译为层叠样式表,使用样式表可以修饰美化网页内容。

语法:

<style type="text/css">
选择器 {
属性 1:属性值 1;
属性 2:属性值 2;
„„
}
</style>

经验:

(1)虽然 CSS 代码不区分大小写,但推荐全用小写。
(2)每条样式规则用分号(;)隔开,通常写为多行,简单的规则也可以合并为一行。
(3)当 CSS 代码较多时,可以使用“/*... ...*/”添加必要的注释,增加代码的可读性。
标签选择器:

语法:

<style type="text/css">
标签名 {
属性 1:属性值 1;
„„
}
</style>
类选择器 :
<style type="text/css">
.类名 {
属性 1:属性值 1;
„„
}
</style>
ID 选择器 :

ID 属性作为 HTML 元素的唯一标识,要求页面内不能有重复的 ID 标识属性

<style type="text/css">
#ID 标识名 {
属性 1:属性值 1;
„„
}
</style>

注意:

CSS 中规定的优先级规则为:ID 选择器>类选择器>标签选择器。如果优先
级相同,则 CSS 会采用就近原则来使用样式
常用的文本属性 :
属性名 			含义 							应用场景
line-height 设置行高(即行间距),常用取值为 25px、28px 布局多行文本
text-align 设置对齐 方式,常用的取值为 left、right、center 各种元素对齐
letter-spacing 设置字符间距,常用的取值为 3px、8px 加大字符间间距
text-decoration 设置文本修饰,常用的取值为 underline(下划线)、none 加下划线、中划线等
常用的字体属性 :
属性名 				含义		 举例
font 	设置字体的所有样式属性 font:bold 12px 宋体
font-family 		定义字体类型 font-family:宋体
font-size 		定义字体的大小 font-size:12px
font-weight 	定义字体的粗细 font-weight:bold
color 			字体颜色

提示:

①多个选择器用空格分隔则表示上下级元素,
		例如,ul li a {color:red},表示<ul>标签的<li>标签下的<a>标
		签的字体设置为红色
②多个选择器用逗号分隔,表示多个选择器共用一套样式规则,即“多个元素均采用这种样式”,也称为组选择器或群选择器。
body,div,p {font-size:12px },表示<body>标签、<div>标签和<p>标签中的字体大小均为 12p

说明:

(1)每个 HTML 标记均可看作一个盒子。
(2)每个盒子都有边界、边框、填充、宽度和高度五个属性。
(3)盒子的 margin、padding 和 border 属性均包括四个部分:上(top)、右(right)、下(bottom)、
左(left)。这四部分可同时设置,也可分别设置。
(4)盒子内容的大小可以通过宽度(width)和(height)进行设置。

盒子模型常见的属性:

类别 属性 说明
边界属性(外边距)
Margin-top 设置元素上方的外边距,取值一般为像素,如 margin-top:20px;
Margin-right 设置元素右方的外边距
Margin-bottom 设置元素下方的外边距
Margin-left 同时设置左方的外边距
margin 设置元素上、右、下、左外边距的值
边框属性
Border-style 设置边框样式,取值有 none 无边框、solid 实线以及 dashed 虚线
Border-width 设置边框宽度
Border-color 设置边框颜色,如 Border-color:red;或 Border-color:#CCCCCC;
Border 同时设置上、右、下、左边框的值
填充属性(内边距)
Padding-top 设置元素上方的内边距,取值一般为像素,如 padding-top:10px;
Padding- right 设置元素右方的内边距
Padding-bottom 设置元素下方的内边距
Padding-left 同时设置左方的内边距
padding 设置元素上、右、下、左内边距的值
内容属性
Width 元素中内容所占宽度,取值一般为像素,如 Width:1oopx;
height 元素中内容所占高度

技巧:

①当 margin、padding 和 Border 分别设置 4 个方向
的值时,取值的顺序必须按顺时针方向排列,即上、右、下、左,值之间用空格隔开
②如果同时设置两个值时,则前面的值表示上下的取值,后面的值 表示的取值,值之间用空格隔开
border(边框)
元素的边框(border)是围绕元素内容和内边距的一条或多条线,border 属性允许开发者规定元素边框的样式、宽度和颜色
padding(填充) :
元素的填充也称为内边距,它是指元素内容与边框之间的距离,填充分为上、下、左、右四个方向
margin(边界) :
边界是指页面中元素与元素之间的间隔,margin 也分为 上、下、左、右四个方向

提醒:

在设置 margin 时,两个元素的上下边界都设置了 margin 值,则取上边距或下边距中的较大值为两个元素的上下间隔。如果是左右边界,则取两个元素左右边界 margin 值得和为最终两个元素的间隔。
width 和 height :
width 和 height 属性分别设置元素内容的宽度和高度,默认情况下只有块级元素才能通过设置width和height来改变大小。行内元素的宽度与高度由内容自身的大小来决定,设置width和height对行内显示的元素没有作用(除非行内元素以块级方式显示)

提示:

元素在浏览器中显示的实际的宽度=元素的宽度(width)+左填充(padding-left)+右填充(padding-right)+左边框(border-width)+右边框(border-width)。高度的计算与宽度类似。
背景属性 :
背景属性			 含义
background 		简写属性,用于将背景属性设置在一个声明中
background-color 		设置背景颜色
background-image 		设置背景图片
background-repeat 		设置背景的平铺方式
background-position 		设置背景出现的初始位置

(1) 背景颜色{ Background-color :颜色}。

(2) 背景图片{ Background-image :url(图片文件路径)|none}。

(3) 背景重复{ Background-repeat :Inherit|no-repeat|repeat-x|repeat-y}。

(4) 背景定位{ Background-position :数值|top|bottom|left|right|center}。

(5) 背景样式{ Background:背景颜色|背景图片|背景重复|背景定位}

样式使用分类:
行内样式表 :

行内样式使用元素标签的 style 属性定义

语法:

<标签名 style=”样式属性:属性值;”>„„.</标签名>

示例:

<p style="color:red;font-size:30px;font-family:黑体;">使用行内样式的段落!
</p>
<p>没有使用行内样式的段落!</p>
内嵌样式表 :

内嵌样式表是写在<head>与</head>标签中的

语法:

<head> 
 <style type=”text/css”> 
 选择符 {样式属性:属性值;......} 
 选择符 {样式属性:属性值;......} 
 ...... 
 </style> 
</head>
外部样式表 :

有两种使用方式,一种为链接外部样式表,另一种为导入样式表

链接外部样式表:
	<head>
	<link rel=”stylesheet” type=”text/css” href=” 					newstype.css”>
	</head>
	
导入样式表:
<head>
 <style type="text/css">
 @import "css/newstyle.css";
 </style>
</head>

注意:

当三中样式使用方法作用于同一个标签时,样式规则的优先级别:行内样式表>内嵌样式表>外部样式表。

(六)网页布局设置:

理解标准文档流:
标准文档流 :

元素按照从左至右、自上而下的顺序排列

在标准文档流中,如果想改变块级元素与行内元素的默认显示方式,可以通过 display 属性来更该。display采用的取值有:bolck、inline 和 none;当 display 取值为 block 时,行内元素将按块级来显示,即每个元素占一行,还可以设置元素的 width 和 height;当 display 取值为 inline 时,块级标签会失去块级显示的特性,变为与行内元素相同,显示在一行且从左至右排列,同时也不能设置 width 和 height,其宽度与高度由自身的内容来决定;当 display 取值为 none 时,该元素不会显示在网页中

掌握盒子的定位属性:
盒子的定位:
(1)static:静态定位,它是默认的属性值,取该值的元素按照标准文档流进行布局排列。
(2)relative:相对定位,使用相对定位的元素以标准文档流为基础,元素可以在它原来的位置上进行偏移,该元素的偏移是显示上的偏移,但在文档流中的位置不会变化。
(3)absolute:绝对定位,绝对定位的元素会脱离标准文档流,对其后的其他元素没有影响,它可以以界面左上角为基准,定位至页面的任何地方。
(4)fixed:固定定位,它与绝对定位类似,只是其以浏览器窗口为基准进行定位,即当拖动浏览器窗口的滚动条时,他依然保持位置不变

注意:

绝对定以页面为参照,拖动滚动条时,绝对定位的元素会随页面的移动而移动。固定定位以浏览器窗口为
参照,拖动滚动条时,固定定位的元素与浏览器窗口相对位置保持不变。
掌握盒子的浮动属性:
在标准文档流中,如果想让块级元素在一行上从左至右的排列,则可以通过display属性取值为,inline,inline属性值可以将块级标签设置为行显示,块级标签就在同一行了。但是块级标签设置完inline后,元素就不能通过设置宽和高度改变元素的大小了,其宽度和高度由其内容绝定。
盒子的浮动是通过float属性来完成的。
属性取值:none,left,right。
none为不浮动,left为左浮动,元素会脱离标准文档流,不占文档流的位置空间。right为右浮动,元素也会脱离标准文档流。
处理浮动塌陷:
浮动可以使多个块级元素停靠到同一行,如果一个元素
的高度为自适且该元素内的所有子元素均为浮动元素,此时会出现浮动塌陷,导致元素的高度变为 0px。
通过clear属性,清除浮动,left清除左浮动,right清除又浮动,both清除两边的浮动,none不清楚浮动。

(七)css样式表进阶:

复合选择器:
交集选择器:
交集选择器由两个选择器直接亲连接构成的,结果是选中两者各自元素访问的交集。第一个必须是标签选择器,第二个必须是类选择器,或者ID选择器。两个选择器之间,不能有空格,必须连续写代码。
p.red {
	color:red; 
	font-size:23px;
}

“p.red”即为交集选择器,该选择器的范围是选中<p>标签中的 class 属性值为“red”的所有元素。

并集选择器:

其选择范围是各选择器范围的并集,任何形式的选择器均可作为并集选择器的一部分,使用并集选择器时,各选择器用逗号连接。

p,.red,#header {
	color:red;
	font-size:12px;
}

可以设置所有的<p>标签、class 属性值为“red”的标签以及 ID 为“header”的标签的样式。

后代选择器:
后代选择器,也称包含选择器。主要用于选择元素的后代元素。所谓后代元素即该标签内的元素,我哦们也经常称外层的标签为父标签,内层的标签为子标签。
#header ul li a {
	color:blue;
	text-decoration:none;
}
特殊选择器:

语法:

标签名:伪装名{
	属性:属性值;
}
①a:link    a:link{color:#999;} 未单击访问时的超链接样式。
②a:visited  a:visited{color:#333;}  单击访问后的超链接样式。
③ a:hover  a:hover{color:#f60;}  鼠标悬浮在超链接上的样式。
④a:active  a:active{color:#999;}  鼠标单击为释放的超链接样式。
css特性:
继承性:
样式的继承性是指后代元素(子元素),拥有父类元素的部分样式风格。如字体,颜色等样式,并可以在父元素样式风格的基础上加以修改,产生自己独特的风格。
层叠性:
层叠性是指,当有多个选择器都作用于同一元素时,即多个选择器中的样式发生重叠,css会对其进行处理。

处理原则:

①多个选择器定义的样式规则不发生冲突,则元素将应用所有选择器定义的样式。
②多个选择器定义的样式规则发生了冲突,则 CSS 按照选择器的优先级来处理。优先级从高到低为: 行内样式>ID 样式> 类样式>标签样式。其总原则是: 越特殊的样式,优先级越高。
常见样式属性:
文本属性:
属性               描述
color             设置文本颜色
letter-spacing    设置字体间距
text-align        设置文版的水平对齐方式
text-decoration   设置文本的装饰效果
line-height       设置行高
列表属性:
属性                描述
list-style         设置列表的所有属性
list-style-image   将图像设置为列表项标记
list-style-type    设置列表项标记的类型
尺寸属性:
属性            描述
width           设置元素内容的宽度
height          设置元素内容的高度
定位属性:
属性            描述
position       设置元素内容的定位
float          设置元素的浮动
clear          设置元素那一侧,不允许有其他浮动元素。
display         设置元素的显示类型
vertical-align   设置元素的垂直对齐方式。
left             设置元素左边框边界与包含块左边界之间的偏移
right             设置元素右边框边界与包含块右边界之间的偏移
bottom            设置元素下边框边界与包含块下边界之间的偏移
top               设置元素上边框边界与包含块上边界之间的偏移
overflow           设置内容溢出元素边框时的处理方式
z-index            设置元素的堆叠顺序
盒子属性:
属性           描述
margin		同时设置上、右、下、左外边距的值
margin-top  设置元素上方的外边距
margin-right 设置元素右方的外边距
margin-bottom 设置元素下方的外边距
margin-left   设置元素左方的外边距
border        同时设置上、右、下、左边框的值
border-style  设置边框的样式,取值有 none 无边框、solid 实线以及 dashed 虚线
border-width   设置边框的宽度
border-color   设置边框的颜色
padding       同时设置上、右、下、左内边距的值
padding-top    设置元素上方的内边距
padding-right  设置元素右下方的内边距
padding-bottom  设置元素下下方的内边距
padding-left    设置元素左下方的内边距 

背景属性:

属性				描述
background		设置背景的所有属性
background-color 设置背景的颜色
background-image	设置背景图像
background-position	设置背景图像的开始位置
background-repeat	设置背景图像如何重复展开
  • 44
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据类型 1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 计算表单总金额 1.12 理解操作符的优先级和结合性: 1.13 使用可变函数 1.13.1 测试和设置变量类型 1.13.2 测试变量状态 1.13.3 变量的重解释 1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif语句 1.14.5 switch语句 1.14.6 比较不同的条件 1.15 通过迭代实现重复动作 1.15.1 while循环 1.15.2 for和foreach循环 1.15.3 do...while循环 1.16 从控制结构或脚本中跳出 1.17 使用可替换的控制结构语法 1.18 使用declare 1.19 下一章 第2章 数据的存储与检索 2.1 保存数据以便后期使用 2.2 存储和检索Bob的订单 2.3 文件处理 2.4 打开文件 2.4.1 选择文件模式 2.4.2 使用fopen()打开文件 2.4.3 通过FTP或HTTP打开文件 2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:filesize() 2.8.3 删除一个文件:unlink() 2.8.4 在文件中定位:rewind()、fseek()和ftell() 2.9 文件锁定 2.10 更好的方式:数据库管理系统 2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用循环访问数组 3.3 使用不同索引的数组 3.3.1 初始化相关数组 3.3.2 访问数组元素 3.3.3 使用循环语句 3.4 数组操作符 3.5 多维数组 3.6 数组排序 3.6.1 使用sort()函数 3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 3.9 从文件载入数组 3.10 执行其他的数组操作 3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev() 3.10.2 对数组的每一个元素应用任何函数:array_walk() 3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 3.10.4 将数组转换成标量变量:extract() 3.11 进一步学习 3.12 下一章 第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:addslashes()和stripslashes() 4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr() 4.5.2 查找子字符串的位置:strpos()、strrpos() 4.5.3 替换子字符串:str_replace()、substr_replace() 4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串的开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在智能表单中应用 4.7 用正则表达式查找子字符串 4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用未定义的函数 5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和重载 6.7.4 理解多重继承 6.7.5 实现接口 6.8 类的设计 6.9 编写类代码 6.10 理解PHP面向对象新的高级功能 6.10.1 使用Per-Class常量 6.10.2 实现静态方法 6.10.3 检查类的类型和类型提示 6.10.4 克隆对象 6.10.5 使用抽象类 6.10.6 使用__call()重载方法 6.10.7 使用__autoload()方法 6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件商店应用程序的异常 7.5 异常和PHP的其他错误处理机制 7.6 进一步学习 7.7 下一章 第二篇 使用MySQL 第8章 设计Web数据库 8.1 关系数据库的概念 8.1.1 表格 8.1.2 列 8.1.3 行 8.1.4 值 8.1.5 键 8.1.6 模式 8.1.7 关系 8.2 如何设计Web数据库 8.2.1 考虑要建模的实际对象 8.2.2 避免保存冗余数据 8.2.3 使用原子列值 8.2.4 选择有意义的键 8.2.5 考虑需要询问数据库的问题 8.2.6 避免多个空属性的设计 8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少权限原则 9.5.2 创建用户:GRANT命令 9.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的例子 9.6 创建一个Web用户 9.7 使用正确的数据库 9.8 创建数据库表 9.8.1 理解其他关键字的意思 9.8.2 理解列的类型 9.8.3 用SHOW和DESCRIBE来查看数据库 9.8.4 创建索引 9.9 理解MySQL的标识符 9.10 选择列数据类型 9.10.1 数字类型 9.10.2 日期和时间类型 9.10.3 字符串类型 9.11 进一步学习 9.12 下一章 第10章 使用MySQL数据库 10.1 SQL是什么 10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 更新数据库记录 10.5 创建后修改表 10.6 删除数据库中的记录 10.7 表的删除 10.8 删除整个数据库 10.9 进一步学习 10.10 下一章 第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5 检索查询结果 11.2.6 从数据库断开连接 11.3 将新信息放入数据库 11.4 使用Prepared语句 11.5 使用PHP与数据库交互的其他接口 11.5.1 使用常规的数据库接口:PEAR MDB2 11.6 进一步学习 11.7 下一章 第12章 MySQL高级管理 12.1 深入理解权限系统 12.1.1 user表 12.1.2 db表和host表 12.1.3 tables_priv表,columns_priv表和procs_priv表 12.1.4 访问控制:MySQL如何使用Grant表 12.1.5 更新权限:修改什么时候生效 12.2 提高MySQL数据库的安全性 12.2.1 从操作系统角度来保护MySQL 12.2.2 密码 12.2.3 用户权限 12.2.4 Web问题 12.3 获取更多关于数据库的信息 12.3.1 使用SHOW获取信息 12.3.2 使用DESCRIBE获取关于列的信息 12.3.3 用EXPLAIN理解查询操作的工作过程 12.4 数据库的优化 12.4.1 设计优化 12.4.2 权限 12.4.3 表的优化 12.4.4 使用索引 12.4.5 使用默认值 12.4.6 其他技巧 12.5 备份MySQL数据库 12.6 恢复MySQL数据库 12.7 实现复制 12.7.1 设置主服务器 12.7.2 执行初始的数据传输 12.7.3 设置一个/多个从服务器 12.8 进一步学习 12.9 下一章 第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和控制结构 13.6 进一步学习 13.7 下一章 第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4 为产品或服务增值 14.2.5 减少成本 14.3 理解风险和威胁 14.3.1 网络黑客 14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 下一章 第15章 电子商务的安全问题 15.1 信息的重要程度 15.2 安全威胁 15.2.1 机密数据的泄露 15.2.2 数据丢失和数据破坏 15.2.3 数据修改 15.2.4 拒绝服务 15.2.5 软件错误 15.2.6 否认 15.3 易用性,性能、成本和安全性 15.4 建立一个安全政策 15.5 身份验证原则 15.6 加密技术基础 15.6.1 私有密钥加密 15.6.2 公有密钥加密 15.6.3 数字签名 15.7 数字证书 15.8 安全的Web服务器 15.9 审计与日志记录 15.10 防火墙 15.11 备份数据 15.11.1 备份常规文件 15.11.2 备份与恢复MySQL数据库 15.12 自然环境安全 15.13 下一章 第16章 Web应用的安全 16.1处理安全性问题的策略 16.1.1 以正确心态为开始 16.1.2 安全性和可用性之间的平衡 16.1.3 安全监视 16.1.4 基本方法 16.2 识别所面临的威胁 16.2.1 访问或修改敏感数据 16.2.2 数据丢失或破坏 16.2.3 拒绝服务 16.2.4 恶意代码注入 16.2.5 服务器被攻破 16.3了解与我们“打交道”的用户 16.3.1 破解人员 16.3.2 受影响机器的未知情用户 16.3.3 对公司不满的员工 16.3.4 硬件被盗 16.3.5 我们自身 16.4 代码的安全性 16.4.1 过滤用户输入 16.4.2 转义输出 16.4.3 代码组织 16.4.4 代码自身的问题 16.4.5 文件系统因素 16.4.6 代码稳定性和缺陷 16.4.7 执行引号和exec 16.5 Web服务器和PHP的安全性 16.5.1 保持软件的更新 16.5.2 查看php.ini文件 16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3 连接服务器 16.6.4 运行服务器 16.7 保护网络 16.7.1 安装防火墙 16.7.2使用隔离区域(DMZ) 16.7.3应对DoS和DDoS攻击 16.8 计算机和操作系统的安全性 16.8.1 保持操作系统的更新 16.8.2只运行必须的软件 16.8.3 服务器的物理安全性 16.9 灾难计划 16.10 下一章 第17章 使用PHP和MySQL实现身份验证 17.1 识别访问者 17.2 实现访问控制 17.2.1 保存密码 17.2.2 密码的加密 17.2.3 保护多个网页 17.3 使用基本身份验证 17.4 在PHP中使用基本身份验证 17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和MySQL实现安全事务 18.1 提供安全的事务处理 18.1.1 用户机器 18.1.2 Internet 18.1.3 我们的系统 18.2 使用加密套接字层(SSL) 18.3 屏蔽用户的输入 18.4 提供安全存储 18.5 存储信用卡号码 18.6 在PHP中使用加密技术 18.6.1 安装GPG 18.6.2 测试GPG 18.7 进一步学习 18.8 下一章 第四篇 PHP的高级技术 第19章 与文件系统和服务器的交互 19.1 文件上载 19.1.1 文件上载的HTML代码 19.1.2 编写处理文件的PHP 19.1.3 避免常见上载问题 19.2 使用目录函数 19.2.1 从目录读取 19.2.2 获得当前目录的信息 19.2.3 创建和删除目录 19.3 与文件系统的交互 19.3.1 获取文件信息 19.3.2 更改文件属性 19.3.3 创建、删除和移动文件 19.4 使用程序执行函数 19.5 与环境变量交互:getenv()和putenv() 19.6 进一步学习 19.7 下一章 第20章 使用网络函数和协议函数 20.1 了解可供使用的协议 20.2 发送和读取电子邮件 20.3 使用其他Web站点的数据 20.4 使用网络查找函数 20.5 备份或镜像一个文件 20.5.1 使用FTP备份或镜像一个文件 20.5.2 上传文件 20.5.3 避免超时 20.5.4 使用其他的FTP函数 20.6 进一步学习 20.7 下一章 第21章 日期和时间的管理 21.1 在PHP中获取日期和时间 21.1.1 使用date()函数 21.1.2 使用UNIX时间戳 21.1.3 使用getdate()函数 21.1.4 使用checkdate()函数检验日期有效性 21.1.5 格式化时间戳 21.2 在PHP日期格式和MySQL日期格式之间进行转换 21.3 在PHP中计算日期 21.4 在MySQL中计算日期 21.5 使用微秒 21.6 使用日历函数 21.7 进一步学习 21.8 下一章 第22章 创建图像 22.1 在PHP中设置图像支持 22.2 理解图像格式 22.2.1 JPEG 22.2.2 PNG 22.2.3 WBMP 22.2.4 GIF 22.3 创建图像 22.3.1 创建一个背景图像 22.3.2 在图像上绘图或打印文本 22.3.3 输出最终图形 22.3.4 清理 22.4 在其他页面中使用自动生成的图像 22.5 使用文本和字体创建图像 22.5.1 创建基本画布 22.5.2 将文本调整到适合按钮 22.5.3 放置文本 22.5.4 将文本写到按钮上 22.5.5 完成 22.6 绘制图像与用图表描绘数据 22.7 使用其他的图像函数 22.8 进一步学习 22.9 下一章 第23章 在PHP中使用会话控制 23.1 什么是会话控制 23.2 理解基本的会话功能 23.2.1 什么是cookie 23.2.2 通过PHP设置cookie 23.2.3 在会话中使用cookie 23.2.4 存储会话 ID 23.3 实现简单的会话 23.3.1 开始一个会话 23.3.2 注册一个会话变量 23.3.3 使用会话变量 23.3.4 注销变量与销毁会话 23.4 创建一个简单的会话例子 23.5 配置会话控制 23.6 通过会话控制实现身份验证 23.7 进一步学习 23.8 下一章 第24章 其他有用的特性 24.1 使用eval()函数对字符串求值 24.2 终止执行:die和exit 24.3 序列化变量和对象 24.4 获取PHP环境信息 24.4.1 找到所加载的PHP扩展部件 24.4.2 识别脚本所有者 24.4.3 确定脚本最近修改时间 24.5 暂时改变运行时环境 24.6 源代码加亮 24.7 在命令行中使用PHP 24.8 下一章 第五篇 创建实用的PHP和MySQL项目 第25章 在大型项目中使用PHP和MySQL 25.1 在Web开发中应用软件工程 25.2 规划和运行Web应用程序项目 25.3 重用代码 25.4 编写可维护代码 25.4.1 编码标准 25.4.2 分解代码 25.4.3 使用标准的目录结构 25.4.4 文档化和共享内部函数 25.5 实现版本控制 25.6 选择一个开发环境 25.7 项目的文档化 25.8 建立原型 25.9 将逻辑和内容分离 25.10 优化代码 25.10.1 使用简单优化 25.10.2 使用Zend产品 25.11 测试 25.12 进一步学习 25.13 下一章 第26章 调试 26.1 编程错误 26.1.1 语法错误 26.1.2 运行时错误 26.1.3 逻辑错误 26.2 使用变量帮助调试 26.3 错误报告级别 26.4 改变错误报告设置 26.5 触发自定义错误 26.6 巧妙地处理错误 26.7 下一章 第27章 建立用户身份验证机制和个性化设置 27.1 解决方案的组成 27.1.1 用户识别和个性化设置 27.1.2 保存书签 27.1.3 推荐书签 27.2 解决方案概述 27.3 实现数据库 27.4 实现基本的网站 27.5 实现用户身份验证 27.5.1 注册 27.5.2 登录 27.5.3 登出 27.5.4 修改密码 27.5.5 重设遗忘的密码 27.6 实现书签的存储和检索 27.6.1 添加书签 27.6.2 显示书签 27.6.3 删除书签 27.7 实现书签推荐 27.8 考虑可能的扩展 27.9 下一章 第28章 创建一个购物车 28.1 解决方案的组成 28.1.1 创建一个在线目录 28.1.2 在用户购买商品的时候记录购买行为 28.1.3 实现一个付款系统 28.1.4 创建一个管理界面 28.2 解决方案概述 28.3 实现数据库 28.4 实现在线目录 28.4.1 列出目录 28.4.2 列出一个目录中的所有图书 28.4.3 显示图书详细信息 28.5 实现购物车 28.5.1 使用show_cart.php脚本 28.5.2 浏览购物车 28.5.3 将物品添加到购物库 28.5.4 保存更新后的购物车 28.5.5 打印标题栏摘要 28.5.6 结账 28.6 实现付款 28.7 实现一个管理界面 28.8 扩展该项目 28.9 使用一个已有系统 28.10 下一章 第29章 创建一个基于Web的电子邮件服务系统 29.1 解决方案的组成 29.1.1 电子邮件协议:POP3和IMAP 29.1.2 PHP对POP3和IMAP的支持 29.2 解决方案概述 29.3 建立数据库 29.4 了解脚本架构 29.5 登录与登出 29.6 建立账户 29.6.1 创建一个新账户 29.6.2 修改已有账户 29.6.3 删除账户 29.7 阅读邮件 29.7.1 选择账户 29.7.2 查看邮箱内容 29.7.3 阅读邮件消息 29.7.4 查看消息标题 29.7.5 删除邮件 29.8 发送邮件 29.8.1 发送一则新消息 29.8.2 回复或转发邮件 29.9 扩展这个项目 29.10 下一章 第30章 创建一个邮件列表管理器 30.1 解决方案的组成 30.1.1 建立列表和订阅者数据库 30.1.2 上载新闻信件 30.1.3 发送带附件的邮件 30.2 解决方案概述 30.3 建立数据库 30.4 定义脚本架构 30.5 实现登录 30.5.1 新账户的创建 30.5.2 登录 30.6 用户函数的实现 30.6.1 查看列表 30.6.2 查看邮件列表信息 30.6.3 查看邮件列表存档 30.6.4 订阅与取消订阅 30.6.5 更改账户设置 30.6.6 更改密码 30.6.7 登出 30.7 管理功能的实现 30.7.1 创建新的邮件列表 30.7.2 上载新的新闻信件 30.7.3 多文件上载的处理 30.7.4 预览新闻信件 30.7.5 发送邮件 30.8 扩展这个项目 30.9 下一章 第31章 创建一个Web论坛 31.1 理解流程 31.2 解决方案的组成 31.3 解决方案概述 31.4 数据库的设计 31.5 查看文章的树型结构 31.5.1 展开和折迭 31.5.2 显示文章 31.5.3 使用treenode类 31.6 查看单个的文章 31.7 添加新文章 31.8 添加扩充 31.9 使用一个已有的系统 31.10 下一章 第32章 生成PDF格式的个性化文档 32.1 项目概述 32.1.1 评估文档格式 32.2 解决方案的组成 32.2.1 问题与回答系统 32.2.2 文档生成软件 32.3 解决方案概述 32.3.1 提问 32.3.2 给答题评分 32.3.3 生成RTF证书 32.3.4 从模板生成PDF证书 32.3.5 使用PDFlib生成PDF文档 32.3.6 使用PDFlib的一个“Hello World”程序 32.3.7 用PDFlib生成证书 32.4 处理标题的问题 32.5 扩展该项目 32.6 下一章 第33章 使用XML和SOAP来连接Web服务 33.1 项目概述:使用XML和Web服务 33.1.1 理解XML 33.1.2 理解Web服务 33.2 解决方案的组成 33.2.1 使用Amazon的Web服务接口 33.2.2 XML的解析:REST响应 33.2.3 在PHP中使用SOAP 33.2.4 缓存 33.3 解决方案概述 33.3.1 核心应用程序 33.3.2 显示特定种类的图书 33.3.3 获得一个AmazonResultSet类 33.3.4 使用REST发送和接收请求 33.3.5 使用SOAP发送和接收请求 33.3.6 缓存请求返回的数据 33.3.7 创建购物车 33.3.8 到Amazon付账 33.4 安装项目代码 33.5 扩展这个项目 33.6 进一步学习 第34 章使用Ajax构建Web 2.0应用 34.1 Ajax 是什么? 34.1.1 HTTP请求和响应 34.1. 2 DHTML和XHTML 34.1.3 级联样式单(CSS) 34.1.4 客户端编程 34.1.5 服务器端编程 34.1.6 XML和XSLT 34.2 Ajax基础 34.2.1 XMLHTTPRequest对象 34.2.2 与服务器通信 34.2.3 处理服务器响应 34.2.4 整合应用 34.3 在以前的项目添加Ajax元素 34.3.1在PHPBookmark应用中添加Ajax元素 34.4 进一步学习 34.4.1 进一步了解文档对象模型(DOM) 34.4.2 Ajax应用可用的JavaScript函数库 34.4.3 Ajax开发人员网站 第六篇 附录 附录A 安装PHP及MySQL 附录B Web资源 第1章 PHP快速入门程 第2章 数据的存储与检索 第3章 使用数组 第4章 字符串操作与正则表达式 第5章 代码重用与函数编写 第6章 面向对象的PHP 第7章 错误和异常处理 ……
《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据类型 1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 计算表单总金额 1.12 理解操作符的优先级和结合性: 1.13 使用可变函数 1.13.1 测试和设置变量类型 1.13.2 测试变量状态 1.13.3 变量的重解释 1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif语句 1.14.5 switch语句 1.14.6 比较不同的条件 1.15 通过迭代实现重复动作 1.15.1 while循环 1.15.2 for和foreach循环 1.15.3 do...while循环 1.16 从控制结构或脚本中跳出 1.17 使用可替换的控制结构语法 1.18 使用declare 1.19 下一章 第2章 数据的存储与检索 2.1 保存数据以便后期使用 2.2 存储和检索Bob的订单 2.3 文件处理 2.4 打开文件 2.4.1 选择文件模式 2.4.2 使用fopen()打开文件 2.4.3 通过FTP或HTTP打开文件 2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:filesize() 2.8.3 删除一个文件:unlink() 2.8.4 在文件中定位:rewind()、fseek()和ftell() 2.9 文件锁定 2.10 更好的方式:数据库管理系统 2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用循环访问数组 3.3 使用不同索引的数组 3.3.1 初始化相关数组 3.3.2 访问数组元素 3.3.3 使用循环语句 3.4 数组操作符 3.5 多维数组 3.6 数组排序 3.6.1 使用sort()函数 3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 3.9 从文件载入数组 3.10 执行其他的数组操作 3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev() 3.10.2 对数组的每一个元素应用任何函数:array_walk() 3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 3.10.4 将数组转换成标量变量:extract() 3.11 进一步学习 3.12 下一章 第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:addslashes()和stripslashes() 4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr() 4.5.2 查找子字符串的位置:strpos()、strrpos() 4.5.3 替换子字符串:str_replace()、substr_replace() 4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串的开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在智能表单中应用 4.7 用正则表达式查找子字符串 4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用未定义的函数 5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和重载 6.7.4 理解多重继承 6.7.5 实现接口 6.8 类的设计 6.9 编写类代码 6.10 理解PHP面向对象新的高级功能 6.10.1 使用Per-Class常量 6.10.2 实现静态方法 6.10.3 检查类的类型和类型提示 6.10.4 克隆对象 6.10.5 使用抽象类 6.10.6 使用__call()重载方法 6.10.7 使用__autoload()方法 6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件商店应用程序的异常 7.5 异常和PHP的其他错误处理机制 7.6 进一步学习 7.7 下一章 第二篇 使用MySQL 第8章 设计Web数据库 8.1 关系数据库的概念 8.1.1 表格 8.1.2 列 8.1.3 行 8.1.4 值 8.1.5 键 8.1.6 模式 8.1.7 关系 8.2 如何设计Web数据库 8.2.1 考虑要建模的实际对象 8.2.2 避免保存冗余数据 8.2.3 使用原子列值 8.2.4 选择有意义的键 8.2.5 考虑需要询问数据库的问题 8.2.6 避免多个空属性的设计 8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少权限原则 9.5.2 创建用户:GRANT命令 9.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的例子 9.6 创建一个Web用户 9.7 使用正确的数据库 9.8 创建数据库表 9.8.1 理解其他关键字的意思 9.8.2 理解列的类型 9.8.3 用SHOW和DESCRIBE来查看数据库 9.8.4 创建索引 9.9 理解MySQL的标识符 9.10 选择列数据类型 9.10.1 数字类型 9.10.2 日期和时间类型 9.10.3 字符串类型 9.11 进一步学习 9.12 下一章 第10章 使用MySQL数据库 10.1 SQL是什么 10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 更新数据库记录 10.5 创建后修改表 10.6 删除数据库中的记录 10.7 表的删除 10.8 删除整个数据库 10.9 进一步学习 10.10 下一章 第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5 检索查询结果 11.2.6 从数据库断开连接 11.3 将新信息放入数据库 11.4 使用Prepared语句 11.5 使用PHP与数据库交互的其他接口 11.5.1 使用常规的数据库接口:PEAR MDB2 11.6 进一步学习 11.7 下一章 第12章 MySQL高级管理 12.1 深入理解权限系统 12.1.1 user表 12.1.2 db表和host表 12.1.3 tables_priv表,columns_priv表和procs_priv表 12.1.4 访问控制:MySQL如何使用Grant表 12.1.5 更新权限:修改什么时候生效 12.2 提高MySQL数据库的安全性 12.2.1 从操作系统角度来保护MySQL 12.2.2 密码 12.2.3 用户权限 12.2.4 Web问题 12.3 获取更多关于数据库的信息 12.3.1 使用SHOW获取信息 12.3.2 使用DESCRIBE获取关于列的信息 12.3.3 用EXPLAIN理解查询操作的工作过程 12.4 数据库的优化 12.4.1 设计优化 12.4.2 权限 12.4.3 表的优化 12.4.4 使用索引 12.4.5 使用默认值 12.4.6 其他技巧 12.5 备份MySQL数据库 12.6 恢复MySQL数据库 12.7 实现复制 12.7.1 设置主服务器 12.7.2 执行初始的数据传输 12.7.3 设置一个/多个从服务器 12.8 进一步学习 12.9 下一章 第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和控制结构 13.6 进一步学习 13.7 下一章 第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4 为产品或服务增值 14.2.5 减少成本 14.3 理解风险和威胁 14.3.1 网络黑客 14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 下一章 第15章 电子商务的安全问题 15.1 信息的重要程度 15.2 安全威胁 15.2.1 机密数据的泄露 15.2.2 数据丢失和数据破坏 15.2.3 数据修改 15.2.4 拒绝服务 15.2.5 软件错误 15.2.6 否认 15.3 易用性,性能、成本和安全性 15.4 建立一个安全政策 15.5 身份验证原则 15.6 加密技术基础 15.6.1 私有密钥加密 15.6.2 公有密钥加密 15.6.3 数字签名 15.7 数字证书 15.8 安全的Web服务器 15.9 审计与日志记录 15.10 防火墙 15.11 备份数据 15.11.1 备份常规文件 15.11.2 备份与恢复MySQL数据库 15.12 自然环境安全 15.13 下一章 第16章 Web应用的安全 16.1处理安全性问题的策略 16.1.1 以正确心态为开始 16.1.2 安全性和可用性之间的平衡 16.1.3 安全监视 16.1.4 基本方法 16.2 识别所面临的威胁 16.2.1 访问或修改敏感数据 16.2.2 数据丢失或破坏 16.2.3 拒绝服务 16.2.4 恶意代码注入 16.2.5 服务器被攻破 16.3了解与我们“打交道”的用户 16.3.1 破解人员 16.3.2 受影响机器的未知情用户 16.3.3 对公司不满的员工 16.3.4 硬件被盗 16.3.5 我们自身 16.4 代码的安全性 16.4.1 过滤用户输入 16.4.2 转义输出 16.4.3 代码组织 16.4.4 代码自身的问题 16.4.5 文件系统因素 16.4.6 代码稳定性和缺陷 16.4.7 执行引号和exec 16.5 Web服务器和PHP的安全性 16.5.1 保持软件的更新 16.5.2 查看php.ini文件 16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3 连接服务器 16.6.4 运行服务器 16.7 保护网络 16.7.1 安装防火墙 16.7.2使用隔离区域(DMZ) 16.7.3应对DoS和DDoS攻击 16.8 计算机和操作系统的安全性 16.8.1 保持操作系统的更新 16.8.2只运行必须的软件 16.8.3 服务器的物理安全性 16.9 灾难计划 16.10 下一章 第17章 使用PHP和MySQL实现身份验证 17.1 识别访问者 17.2 实现访问控制 17.2.1 保存密码 17.2.2 密码的加密 17.2.3 保护多个网页 17.3 使用基本身份验证 17.4 在PHP中使用基本身份验证 17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和MySQL实现安全事务 18.1 提供安全的事务处理 18.1.1 用户机器 18.1.2 Internet 18.1.3 我们的系统 18.2 使用加密套接字层(SSL) 18.3 屏蔽用户的输入 18.4 提供安全存储 18.5 存储信用卡号码 18.6 在PHP中使用加密技术 18.6.1 安装GPG 18.6.2 测试GPG 18.7 进一步学习 18.8 下一章 第四篇 PHP的高级技术 第19章 与文件系统和服务器的交互 19.1 文件上载 19.1.1 文件上载的HTML代码 19.1.2 编写处理文件的PHP 19.1.3 避免常见上载问题 19.2 使用目录函数 19.2.1 从目录读取 19.2.2 获得当前目录的信息 19.2.3 创建和删除目录 19.3 与文件系统的交互 19.3.1 获取文件信息 19.3.2 更改文件属性 19.3.3 创建、删除和移动文件 19.4 使用程序执行函数 19.5 与环境变量交互:getenv()和putenv() 19.6 进一步学习 19.7 下一章 第20章 使用网络函数和协议函数 20.1 了解可供使用的协议 20.2 发送和读取电子邮件 20.3 使用其他Web站点的数据 20.4 使用网络查找函数 20.5 备份或镜像一个文件 20.5.1 使用FTP备份或镜像一个文件 20.5.2 上传文件 20.5.3 避免超时 20.5.4 使用其他的FTP函数 20.6 进一步学习 20.7 下一章 第21章 日期和时间的管理 21.1 在PHP中获取日期和时间 21.1.1 使用date()函数 21.1.2 使用UNIX时间戳 21.1.3 使用getdate()函数 21.1.4 使用checkdate()函数检验日期有效性 21.1.5 格式化时间戳 21.2 在PHP日期格式和MySQL日期格式之间进行转换 21.3 在PHP中计算日期 21.4 在MySQL中计算日期 21.5 使用微秒 21.6 使用日历函数 21.7 进一步学习 21.8 下一章 第22章 创建图像 22.1 在PHP中设置图像支持 22.2 理解图像格式 22.2.1 JPEG 22.2.2 PNG 22.2.3 WBMP 22.2.4 GIF 22.3 创建图像 22.3.1 创建一个背景图像 22.3.2 在图像上绘图或打印文本 22.3.3 输出最终图形 22.3.4 清理 22.4 在其他页面中使用自动生成的图像 22.5 使用文本和字体创建图像 22.5.1 创建基本画布 22.5.2 将文本调整到适合按钮 22.5.3 放置文本 22.5.4 将文本写到按钮上 22.5.5 完成 22.6 绘制图像与用图表描绘数据 22.7 使用其他的图像函数 22.8 进一步学习 22.9 下一章 第23章 在PHP中使用会话控制 23.1 什么是会话控制 23.2 理解基本的会话功能 23.2.1 什么是cookie 23.2.2 通过PHP设置cookie 23.2.3 在会话中使用cookie 23.2.4 存储会话 ID 23.3 实现简单的会话 23.3.1 开始一个会话 23.3.2 注册一个会话变量 23.3.3 使用会话变量 23.3.4 注销变量与销毁会话 23.4 创建一个简单的会话例子 23.5 配置会话控制 23.6 通过会话控制实现身份验证 23.7 进一步学习 23.8 下一章 第24章 其他有用的特性 24.1 使用eval()函数对字符串求值 24.2 终止执行:die和exit 24.3 序列化变量和对象 24.4 获取PHP环境信息 24.4.1 找到所加载的PHP扩展部件 24.4.2 识别脚本所有者 24.4.3 确定脚本最近修改时间 24.5 暂时改变运行时环境 24.6 源代码加亮 24.7 在命令行中使用PHP 24.8 下一章 第五篇 创建实用的PHP和MySQL项目 第25章 在大型项目中使用PHP和MySQL 25.1 在Web开发中应用软件工程 25.2 规划和运行Web应用程序项目 25.3 重用代码 25.4 编写可维护代码 25.4.1 编码标准 25.4.2 分解代码 25.4.3 使用标准的目录结构 25.4.4 文档化和共享内部函数 25.5 实现版本控制 25.6 选择一个开发环境 25.7 项目的文档化 25.8 建立原型 25.9 将逻辑和内容分离 25.10 优化代码 25.10.1 使用简单优化 25.10.2 使用Zend产品 25.11 测试 25.12 进一步学习 25.13 下一章 第26章 调试 26.1 编程错误 26.1.1 语法错误 26.1.2 运行时错误 26.1.3 逻辑错误 26.2 使用变量帮助调试 26.3 错误报告级别 26.4 改变错误报告设置 26.5 触发自定义错误 26.6 巧妙地处理错误 26.7 下一章 第27章 建立用户身份验证机制和个性化设置 27.1 解决方案的组成 27.1.1 用户识别和个性化设置 27.1.2 保存书签 27.1.3 推荐书签 27.2 解决方案概述 27.3 实现数据库 27.4 实现基本的网站 27.5 实现用户身份验证 27.5.1 注册 27.5.2 登录 27.5.3 登出 27.5.4 修改密码 27.5.5 重设遗忘的密码 27.6 实现书签的存储和检索 27.6.1 添加书签 27.6.2 显示书签 27.6.3 删除书签 27.7 实现书签推荐 27.8 考虑可能的扩展 27.9 下一章 第28章 创建一个购物车 28.1 解决方案的组成 28.1.1 创建一个在线目录 28.1.2 在用户购买商品的时候记录购买行为 28.1.3 实现一个付款系统 28.1.4 创建一个管理界面 28.2 解决方案概述 28.3 实现数据库 28.4 实现在线目录 28.4.1 列出目录 28.4.2 列出一个目录中的所有图书 28.4.3 显示图书详细信息 28.5 实现购物车 28.5.1 使用show_cart.php脚本 28.5.2 浏览购物车 28.5.3 将物品添加到购物库 28.5.4 保存更新后的购物车 28.5.5 打印标题栏摘要 28.5.6 结账 28.6 实现付款 28.7 实现一个管理界面 28.8 扩展该项目 28.9 使用一个已有系统 28.10 下一章 第29章 创建一个基于Web的电子邮件服务系统 29.1 解决方案的组成 29.1.1 电子邮件协议:POP3和IMAP 29.1.2 PHP对POP3和IMAP的支持 29.2 解决方案概述 29.3 建立数据库 29.4 了解脚本架构 29.5 登录与登出 29.6 建立账户 29.6.1 创建一个新账户 29.6.2 修改已有账户 29.6.3 删除账户 29.7 阅读邮件 29.7.1 选择账户 29.7.2 查看邮箱内容 29.7.3 阅读邮件消息 29.7.4 查看消息标题 29.7.5 删除邮件 29.8 发送邮件 29.8.1 发送一则新消息 29.8.2 回复或转发邮件 29.9 扩展这个项目 29.10 下一章 第30章 创建一个邮件列表管理器 30.1 解决方案的组成 30.1.1 建立列表和订阅者数据库 30.1.2 上载新闻信件 30.1.3 发送带附件的邮件 30.2 解决方案概述 30.3 建立数据库 30.4 定义脚本架构 30.5 实现登录 30.5.1 新账户的创建 30.5.2 登录 30.6 用户函数的实现 30.6.1 查看列表 30.6.2 查看邮件列表信息 30.6.3 查看邮件列表存档 30.6.4 订阅与取消订阅 30.6.5 更改账户设置 30.6.6 更改密码 30.6.7 登出 30.7 管理功能的实现 30.7.1 创建新的邮件列表 30.7.2 上载新的新闻信件 30.7.3 多文件上载的处理 30.7.4 预览新闻信件 30.7.5 发送邮件 30.8 扩展这个项目 30.9 下一章 第31章 创建一个Web论坛 31.1 理解流程 31.2 解决方案的组成 31.3 解决方案概述 31.4 数据库的设计 31.5 查看文章的树型结构 31.5.1 展开和折迭 31.5.2 显示文章 31.5.3 使用treenode类 31.6 查看单个的文章 31.7 添加新文章 31.8 添加扩充 31.9 使用一个已有的系统 31.10 下一章 第32章 生成PDF格式的个性化文档 32.1 项目概述 32.1.1 评估文档格式 32.2 解决方案的组成 32.2.1 问题与回答系统 32.2.2 文档生成软件 32.3 解决方案概述 32.3.1 提问 32.3.2 给答题评分 32.3.3 生成RTF证书 32.3.4 从模板生成PDF证书 32.3.5 使用PDFlib生成PDF文档 32.3.6 使用PDFlib的一个“Hello World”程序 32.3.7 用PDFlib生成证书 32.4 处理标题的问题 32.5 扩展该项目 32.6 下一章 第33章 使用XML和SOAP来连接Web服务 33.1 项目概述:使用XML和Web服务 33.1.1 理解XML 33.1.2 理解Web服务 33.2 解决方案的组成 33.2.1 使用Amazon的Web服务接口 33.2.2 XML的解析:REST响应 33.2.3 在PHP中使用SOAP 33.2.4 缓存 33.3 解决方案概述 33.3.1 核心应用程序 33.3.2 显示特定种类的图书 33.3.3 获得一个AmazonResultSet类 33.3.4 使用REST发送和接收请求 33.3.5 使用SOAP发送和接收请求 33.3.6 缓存请求返回的数据 33.3.7 创建购物车 33.3.8 到Amazon付账 33.4 安装项目代码 33.5 扩展这个项目 33.6 进一步学习 第34 章使用Ajax构建Web 2.0应用 34.1 Ajax 是什么? 34.1.1 HTTP请求和响应 34.1. 2 DHTML和XHTML 34.1.3 级联样式单(CSS) 34.1.4 客户端编程 34.1.5 服务器端编程 34.1.6 XML和XSLT 34.2 Ajax基础 34.2.1 XMLHTTPRequest对象 34.2.2 与服务器通信 34.2.3 处理服务器响应 34.2.4 整合应用 34.3 在以前的项目添加Ajax元素 34.3.1在PHPBookmark应用中添加Ajax元素 34.4 进一步学习 34.4.1 进一步了解文档对象模型(DOM) 34.4.2 Ajax应用可用的JavaScript函数库 34.4.3 Ajax开发人员网站 第六篇 附录 附录A 安装PHP及MySQL 附录B Web资源 第1章 PHP快速入门程 第2章 数据的存储与检索 第3章 使用数组 第4章 字符串操作与正则表达式 第5章 代码重用与函数编写 第6章 面向对象的PHP 第7章 错误和异常处理 ……

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值