php 学习笔记,php基础学习笔记(一)

php基础学习笔记(1)

表单是什么?——表单不是表格。

用户可以在其中提供一定的数据或信息或选项的一些html元素。表单通常有一个“提交”按钮,然后可以将这些数据据/信息/选项提供给服务器上的程序使用——数据处理。

——表单的核心是数据。

表单标签的构成和形式:

第一个表单项

第二个表单项

。。。。。。。

到底有哪些表单项?

单行文本框:

其他属性:

value:设定其中的初始文字

size:设置其输入框的宽度(单位是“字符宽”)——其中能放置该数量的字符

maxlength:设置该输入框最多能输入的字符个数

readonly:这是一个“无值”属性,表示“只读”,则写法是:readonly=”readonly”

disable: 设置该输入框“无效”,即数据无效。

密码框:

其他属性:

value:设定其中的初始文字

size:设置其输入框的宽度(单位是“字符宽”)——其中能放置该数量的字符

maxlength:设置该输入框最多能输入的字符个数

单选项:

说明:单选项通常必须有value值;

其他属性:

checked: 表示该选项默认是选中的状态。也是一个“无值属性”

name特别说明:一组的单选项要求name值必须相同。

多选项:

说明:多选项通常必须有value值;

其他属性:

checked: 表示该选项默认是选中的状态。也是一个“无值属性”

提交按钮:

说明:点击提交按钮,则表单就会“被提交”,即数据会传入到表单的action所设定的文件中去。

图片按钮:

说明:图片按钮的功能其实也是“提交”,但其显示出来的效果是一张图片——这样有利于美化页面。

重置按钮:

说明:会将表单的所有用户填写或选择的数据恢复到初始状态

普通按钮:

说明:对表单没有影响,但可以从中产生“动作”以实现其他要求(js程序)

文件域:

说明:可以让用户选择本地的文件(并发送到服务器)——文件也是数据。

隐藏域:

说明:界面上不可见,但是作为一份“隐藏的数据”提交给服务器——编程所需。

下拉选择:使用select和option标签配合实现。但要把此当作“一个表单项”

文字1

文字2

文字3

………………….

说明:

option标签上可以使用selected属性,表明该select元素的默认选中的项(默认是第一项被选中)。

select标签上可以使用multiple属性,使该select元素可以“选择多项”(即默认只能选一个)

多行选项(也叫列表选项):多行选项其实只是下拉选择的一种“变形”——设置其size值大于等于就会成多行。

文字1

文字2

文字3

………………….

多行文本框:

说明:

rows设定的行数是一个数字,表示该多行文本框可以显示的文字的行数

cols设定的列数是一个数字,表示该多行文本框可以显示的一行文字中个数

此标签没有value属性。但其实际的“值”是放在此标签中间的所有内容。

注意:表单项都必须有name属性,以表明其“名字”——服务器取其中的数据就是凭此名字。

框架标签

第一个观念:我们在打开的一个“窗口”中总是只会显示一个网页。

但是:

我们其实也可以在一个窗口中打开多个网页——其实其实质还是一个窗口显示一个网页,只是我们会使用某些特定标签(frameset)来将一个“大窗口”分割成若干个“小窗口”。

首先要明确:

1,   使用框架标签(frameset)就不能使用body标签——即body标签使用frameset标签代替

2,   使用frameset标签就要使用framseset文档类型

则具体分割代码如下:

。。。。。。。。。。。。。

cols的值是连续的表示列的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:

cols=”100,800”   :表示将大窗口按列分割成两个小窗口,第一个为100宽,第二个为800宽

cols=”100,200,*”          :表示将大窗口按列分割成3个小窗口,第一个为100宽,第二个为200宽,其余给第3个

cols=”15%, *”

rows的值是连续的表示行的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:

rows=”100,200,*”

row=”20%, *”

注意:一个frameset只能按某一个方向(列或行)进行分割

css介绍

CSS:Cascading  Style Sheet(层叠样式表)

CSS能够让我们将网页从以下两个方面来控制网页的外观:

1,   批量控制网页的外观,使我们节省劳力。

2,   精确控制网页的外观:到像素级别。

css的基本语法形式:

选择器 { css属性名1:值1;css属性名2:值2; …………   }

举例:

font{color:red;    font-weight:bold;  font-size:18px;}

dt{

font-size:14px;

font-weight:bold;

color:pink;

}

区分两个属性的说法

html属性:写在标签中,形式为: 属性名=“属性值”——此引号可以省略,但墙裂推荐不省略

——也可以叫“标签属性”

——html属性通常是“各个标签的自有属性,一般不一样”

——使用相同html属性的标签极少

css属性: 写在选择器的大括号中,形式为: 属性名:属性值——特别注意,值不可以加引号

——也可以叫“样式属性”

——css属性通常是 “对各个标签都可用”,一般都一样

——不使用相同css属性的标签极少

选择器分类

标签选择器:

形式:  标签名 {  …….. }

含义: 指代(对应)网页中的所有该标签都应用其中的属性设置。

类选择器:

形式: .类名 {  ……   }

含义: 指代(对应)网页中的class的值为该类名的所有标签都应用该属性设置。

举例:

惺惺惜惺惺信息

ID选择器:

形式:       #id名{  ……   }

含义:       指代(对应)网页中的id的值为该名称的该标签都应用该属性设置。

注意:       通常,一个网页中的id名不要相同,因为id本身就是表示“唯一”的意思。

举例:

惺惺惜惺惺信息

通用选择器:

形式:       *{  …..  }   ——通用选择器只有这一个形式(符号)

含义:       其自动指代“所有标签”,即所有标签都应用该属性设置

注意:       通用选择器慎用,通常只用于设置基本的几个属性,比如文字颜色,文字大小,padding,margin

伪类选择器:

形式:       :伪类名 { …… }

注意:       伪类名其实只有系统内部规定的不多的几个,不是我们自己定义的,比如:link, visited, hover, active.他们的含义也是特定的。通常上述几个伪类只用于a标签,则其形式和含义通常为:

a:link{ …… }         :表示一个a链接标签在网页初始打开的时候的状态(初始链接状态)

a:visited{…..}       :表示一个a链接标签在点击(访问)过之后的时候的状态(访问后状态)

a:hover{….}          :表示一个a链接标签在鼠标放上去的时候的状态(悬停状态)

a:active{….}         :表示一个a链接标签在鼠标摁住但还没有抬起的状态(活动状态)。

不过,最新的浏览器中,出于安全考虑,a的hover和visited效果有些属性不能用了。

复合选择器之:层级选择器

形式: 选择器1  选择器2 { ……… }

含义: 在选择器1所对应的标签中由选择器2所对应的那些标签。。。。。其中,选择器1和选择器2可以是前面所学的任意某种选择器,而且这种层级关系还可以多层次,比如:

#d1  div{…}

.cc1  p  span{…..}

p  .cc2  img{…..}

#d1  p  a:hover{….}

举例:

div p{ color: red;}

段落1

段落2

复合选择器之:分组选择器

形式: 选择器1,选择器2 { ……… }

含义:指这两个选择器都使用同样的属性设置,其实无非是简缩代码的一种写法,否则他们得用两个选择器来写。

.a {color:red;  font-size:15px;}

.b{ color:red;  font-size:15px;}

è

.a, .b{ color:red;  font-size:15px;}

其他复合形式(举例):

div.cc1{…}   :代表具有class值为cc1的div标签,它跟 div  .cc1{…}是完全不同的。

p#d1{…}               :代表具有id值为d1的p标签,但这种形式其实并不推荐(意义不大)。

框架:

框架标签是用于将“当前窗口”进行瓜分成更小窗口的一种技术。framseset代替body标签,并要使用框架文档类型。

。。。。。。。

css基本概念:

css是用于这样一个目的: 将网页中的某个(些)标签(元素)的某(些)方面特性设置为某(些)个值。

css的语法基本模式为:

选择器 {  css属性1:值1;css属性2:值2;………  }

所谓选择器,其实就是某种可以对应到网页中的某个(些)标签的语法形式。

css选择器分类:

标签选择器:

一个英文单词{….}

所谓一个英文单词,其实也就是一个应该存在的标签名

类选择器(class选择器)

.类名{…}

啊啊啊啊啊

%E2%80%9D%E6%9F%90%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84%E2%80%9D%C2%A0

id选择器:

#id名{…..}

特别注释:title,  class,  id就是我们所谓的“通用属性”——即谁都可以用。

通用选择器:

*{….}

伪类选择器:

a:link{…}

a:visited{…}

a:hover{。。。}

a:active{….}

注意:上述4个伪类用于a标签通常就必须按上述顺序写。

另外,实际应用中,常常简化为这样:

a{……}

a:hover{….}

含义是:a连接标签只分“鼠标放上去状态”和“其他状态”

层级选择器:

选择器1  选择器2{。。。。。}

分组选择器:

选择器1, 选择器2{。。。。。}

文字段落的样式属性

color:设定一个标签中的文字的颜色,颜色值可以使用英文单词,16进制语法和rgb语法:

color: red;    color: #f0fcf8;                  color:rgb(123, 88, 205);

font-size: 设定文字大小,单位通常为像素(px)—— 一般的商业网站的文字大小通常都是12px。

font-weight: 设置文字粗体(bold)或非粗体(normal)。

font-style: 设置文字斜体(italic) 或非斜体(normal)

font-family:设置文字的字体名字,可以使用多个字体名,中间用逗号分开,表示的含义是:首先使用第一个字体,如果用户电脑中没有第一个,则是用第二个,以此类推。举例:

font-family: 宋体,仿宋,微软雅黑,arial, “Times New roman”;

line-height:设置文字的行高,单位通常也是px,即一行文字所占据的空间高度——行高不是文字的高度。

letter-spacing:设置字符(或字母)之间的间隔距离,中文其实就是“字”的间隔。

word-spacing:设置单词之间的间隔距离——通常只对西方拉丁语系的字符有效。

text-align:设定文字的水平对齐方式。其功能是相当于标签属性中的align属性。但要注意:align作为html属性,其实只在其中的某几个标签中使用,但text-align是几乎所有标签都可以用的。

text-indent: 设定一个段落中的首行缩进距离,单位通常也是px。

text-decoration:设置文字的“修饰线”:下划线(underline),中划线(line-through),上划线(overline),none(无)

vertical-align: 设定文字在一个表格盒子(单元格)的垂直对齐方式:top(顶对齐),middle(中对齐),bottom(底对齐)

盒子模型初步

盒子是css中最重要的概念。

盒子

首先先建立一个观念: 几乎所有标签其实都是一个盒子——而所谓盒子,无非就是一个“矩形的区域范围而已”。其实所谓网页,无非是一个盒子套一个盒子。

一个盒子有如下一些区域(结构)构成:

边框(border):一个线型的区域,可以是实线或虚线或其他形状。

外边距(margin):也叫“边界”,边框线之外的一块空白区域,其含义是“不能放置物体”

内边距(padding):也叫“补白”,边框线之内的一块空白区域,其含义也是“不能放置物体”

内容区(没有对应的css属性名):指一个盒子中可以放置“物体”的区域——也就是盒子的主要区域。其中放置的物体可以是普通的文字或其他标签——对应我们之前学的html中的“内容部分”。内容区通常只能设置其宽高属性(width,height)。

一个盒子的各个组成部分由下图所示:

网页设计中的“内容与表现分离”思想

我们以前学习html,说,标签具有“表形表意”之作用。其实也可以说,内容和其表现混在一起。

现在:

css技术其实可以将一个网页中的各个标签的表现都“提出来”放到一个专门的地方(比如style标签中),剩余的部分(标签和文字内容等)被整体上称为“结构/内容”。这种做法就被称为“内容与表现分离思想”

盒子的两种初始状态(基本表现):

类似div的盒子:一个盒子自动“占据一行”(不管其内部内容多少):这就是“块盒子”(块元素)。常用块盒子:

p, hr,  h1~h6, table,  form,  ul, li, ol,  dl,  dt, dd,  blockquote, pre,

特点:可以设置固定的宽高,margin,padding,

类似span盒子:一个盒子中的内容会跟同类的盒子并排在一行出现,除非该行已满,则会自然到下一行——类似文字的表现特性。:这就是行内盒子(行内元素)。行内盒子通常放“最终的数据内容”,比如文本,图片。其他行内盒子:

b, strong, font,  i,  u,  a,  img,   input,  textarea,  select,

特点:宽高不能设定,而是由其内容“撑出”,margin和padding没有上下方面的表现。

通常,行内盒子是“小盒子”,块盒子是“大盒子”,

布局初步(原理)

所谓布局,其实是指的将网页内容以一定的方式放到合适的位置上去。

布局的基本步骤:

1,   将“当前版面”以视觉上界限明显的方式进行划分若干个区块,划分只用两种方式:

a)         上下结构:此时,只要使用若干个盒子,自然就是上下结构,无需其他设置。

b)         左右结构:此时使用若干个盒子,并进行相应的浮动,通常的模式:

i.              2个盒子:一左一右

ii.              3个盒子:两左一右或两右一左,或一边倒。

iii.              更多盒子:通常一边倒。

浮动解释:

浮动就像水中的气泡,会“网上浮”

更形象的比喻:大家(所有标签)都在“地面上平铺着”,各自占据着一定的面积,浮动元素却“浮”到天花板上去了,其并占据大家通常的“地面面积”。

浮动除了表现上不跟别的元素抢占地盘之外,其最主要的特性(也就是破坏效果)其实是:使其父盒子失去合理高度——父盒子已经包不住其这些浮动的内部盒子了!这在布局中基本上是不允许的!那么我们就必须使用补充的做法来实现合理包含——父盒子包住子盒子。让父盒子获得正确有效高度的方法有3个:

1,  给父盒子设置一个固定的高度——通常设计时已知高度且不回改变的时候。

2,  给父盒子的内部最末尾加一个清除浮动的空盒子,如下:

3,  给父盒子设置一个css属性:overflow:hidden;

则最好总结:布局需要左右排列,左右排列需要浮动,浮动需要修正其破坏效果——让父盒子合理包住其子盒子。

目录 HTML 1 小知识点 1 表格 3 Frameset 5 Form/input 8 Map 11 HTML5 12 canvas 12 HTML5废除的标签 13 XML 15 基本语法 15 DTD校验 16 在xml文件中引入dtd文件的两种方式 17 DTD元素和修饰符 17 元素属性列表说明 17 实体定义分两种 18 使用php对xml文件进行操作 19 CSS 23 margin 26 element 28 box 29 position 31 apache 34 PHP 36 数据类型 36 .双引号与单引号 36 二.运算符 36 三.字符串拼接 36 四.类型运算符 36 五.switch语句 36 六.全局变量 37 七.预定义变量 37 函数 39 数组 40 .用字符串做下标 40 二.使用小数作为key将,自动截断小数部分 40 四.删除数组元素 40 六.二维数组。 40 类 41 .重载 41 二.覆盖 41 三.抽象类 41 四.final 42 五.const 42 时间 42 .输出日期 42 错误处理 43 .自定义错误处理函数 43 二.触发器 43 三.异常处理 43 四.设置顶级异常处理器 45 防盗链 45 HTTP 46 经过定时间跳转到指定页面 46 不让浏览器缓存 46 cookie 47 session 47 php.ini中关于session和cookie的配置说明 50 文件操作 51 文件读取 51 文件下载 52 文件上传 53 写入文件 54 拷贝文件 54 文件和文件夹的创建和删除 55 画图 56 画饼状图 56 案例:投票柱状统计图 57 案例二:验证码 59 GD库 60 PHP和数据库 64 mysql扩展库 64 .创建张用户表 64 二.查询数据库中的表 64 三.增删改查类 65 四.数据库操作函数 66 mysqli扩展库 69 .查询数据库中的表 69 二.释放资源的方式 69 三.增删该查类 69 四.预编译 70 mail 71 ZendFramework 73 快速体验 73 修改数据 74 增加数据 74 查询数据 74 memcached 76 telnet操作 76 php中使用memcached 78 把session数据放入memcache中 79 小知识点 80
参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值