TML标签:
所有内容都在<html></html>标签之内;
<head></head>内放的是头部信息,是对页面的描述,不会直接显示在页面中。
<head></head>内的<title></title>中设置的是页面的标题,<title></title>只能放在<head></head>中;
<body></body>是页面的主体,大部分显示内容都定义在这里。
HTML注释:<!-- -->:
注释不允许嵌套
html常用标签:
h标签(标题),HTML定义了<h1></h1>到<h6></h6>六个h标签,分别表示不同大小的字体。h1最大,h6最小。
<br/>只是回车,<p>是段落。<p>前后会有比较大的空白,而<br/>则没有。
<center>居中显示.
<b>、<strong>粗体,<i>、<em>斜体。<u>下划线。
<sub>2</sub>下标,如:H<sub>2</sub>O
<sup>2</sup>上标,如:10<sup>2</sup>
<font></font>字体标签,<font color=“red“ size=“7” face=“隶书”>红色</font>。color(设置颜色) size(1-7) face(设置字体,设置字体是注意用户计算机中必须有该字体才能正常显示)
<hr> color size(厚度) width(长度) align=left/center/right (默认为剧中显示)
<pre> 预格式化 保持本色;
HTML特殊字符:<(小于号,less than);>(大于号,greater than); (空格)。
超链接:<a>标签的一些常用属性:href、title、target、name
插入图片:<img src=“路径”/>
列表:dl→(定义列表),ul→(无序列表), ol→(有序列表)。
表格:<table>;创建行:<tr>;创建单元格:<td>;表页眉:<thead>;表主体:<tbody>;表页脚:<tfoot>;表头:<th>。
rowspan(合并行)、colspan(合并列)
<input>是主要的表单元素,type的可选值:submit(提交按钮)、button(普通按钮)、checkbox表单标签:(复选框)、file(文件选择框)、hidden(隐藏字段)、image(图片按钮)、password(密码框)、radio(单选按钮)、reset(重置按钮)、text(文本框)。
meta标签:(包括在head标签中。主要用来描述页面自身信息,元信息)
<meta name="keywords" content="C#学习资料,4k8k.net,.net开发,软件开发,编程自学网"/>
<meta name="description" content="免费更新最新C#相关技术知识,主要包括:.net基础,网页前端,三层架构,SQL数据库..."/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />网页编码
<meta http-equiv="Refresh" content="3" />三秒钟后刷新此网页。
<meta http-equiv="Refresh" content="3;url=http://www.4k8k.net" />三秒钟后重定向到新网页。
<meta http-equiv="Cache-Control" content="no-cache" /> 禁止浏览器缓存页面。
<meta name="名字" content="值" />关于网页的描述信息。
<meta http-equiv="名字" content="值" />模拟http响应头信息。
C#编程自学_做最好的.net自学资料站_更多文章请访问:http://www.4k8k.net/
欢迎订阅。
TML 表单用于搜集不同类型的用户输入。HTML5 Input,拥有多个新的表单输入类型,提供了更好的输入控制和验证,今天将为大家带来HTML中的表单及其input输入类型。
一、HTML表单
1、HTML表单用于收集不同类型的用户输入,是一个包含表单元素的区域并且允许用户在表单中输入内容,比如文本域(textarea)、下拉列表、单选框(radio=buttons)、复选框(checkboxes)等。
2、表单使用标签<form>来设置,示例:
运行结果:
二、HTML表单属性:
1、HTML表单包含表单元素,表单元素是指不同类型的input元素、复选框、单选按钮、提交按钮等。
2、action属性
在上面的示例中出现了action属性,action属性定义在提交表单执行的动作,向服务器提交表单的通常做法是使用提交按钮。
通常,表单会被提交到web服务器上的网页,上面的例子中,则指定了某个服务器脚本来处理被提交表单。
如果省略 action 属性,则 action 会被设置为当前页面。
3、method 属性
method属性规定在提交表单时所用的 HTTP 方法(GET 或 POST):
如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息,使用get。
如果表单正在更新数据,或者包含敏感信息(例如密码),使用post。
4、如果要正确地被提交,每个输入字段必须设置一个 name 属性,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="Firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您点击提交,表单数据会被发送到名为 demo_form.asp 的页面。</p>
<p>first name 不会被提交,因为此 input 元素没有 name 属性。</p>
</body>
</html>
运行结果:
5、target 属性
target 属性规定提交表单后在何处显示响应,target 属性可设置以下值之一:
默认值为 _self,这意味着响应将在当前窗口中打开。
6、Autocomplete 属性
autocomplete 属性规定表单是否应打开自动完成功能。
启用自动完成功能后,浏览器会根据用户之前输入的值自动填写值,示例:
运行结果:
7、所有<form>属性的列表:
三、HTML表单元素:
1、<input>元素是最重要的表单元素,有很多的形态,根据不同的type属性,例如:
① 文本输入(text),示例:
<!DOCTYPE html>
<html>
<body>
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
<p>请注意表单本身是不可见的。</p>
<p>同时请注意文本字段的默认宽度是 20 个字符。</p>
</body>
</html>
运行结果:
② 单选按钮输入(radio),示例:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form>
</body>
</html>
运行结果:
③ 提交按钮(submit),示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您点击提交,表单数据会被发送到名为 demo_form.asp 的页面。</p>
</body>
</html>
运行结果:
2、<select>元素
<select>元素定义下拉列表,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br><br>
<input type="submit">
</form>
</body>
</html>
运行结果:
3、<fieldset>元素
<fieldset>元素组合表单中的相关数据
<legend>元素为<fieldset>元素定义标题,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<fieldset>
<legend>Personal information:</legend>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</fieldset>
</form>
</body>
</html>
运行结果:
4、<textarea> 元素
<textarea> 元素定义多行输入字段(文本域)、示例:
<!DOCTYPE html>
<html>
<body>
<form>
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
</form>
</body>
</html>
运行结果:
5、HTML5<datalist>元素
<datalist> 元素为 <input> 元素规定预定义选项列表。
用户会在他们输入数据时看到预定义选项的下拉列表。
<input> 元素的 list 属性必须引用 <datalist> 元素的 id 属性,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<input list="browsers" name="browser">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</form>
</body>
</html>
运行结果:
四、HTML表单输入类型
输入类型 | 定义 |
text | 定义供文本输入的单行输入字段 |
password | 定义密码字段 |
submit | 定义提交表单数据至表单处理程序的按钮 |
radio | 定义单选按钮 |
checkbox | 定义复选框 |
<input>中的type:
类型 | 定义 |
radio | 定义单选按钮 |
checkbox | 定义复选框 |
button | 定义按钮 |
number | 用于应该包含数字值的输入字段 |
date | 用于应该包含日期的输入字段 |
color | 用于应该包含颜色的输入字段 |
range | 用于应该包含一定范围内的值的输入字段 |
month | 允许用户选择月份和年份 |
week | 允许用户选择周和年 |
time | 允许用户选择时间(无时区) |
datetime | 允许用户选择日期和时间(有时区) |
datetime-local | 允许用户选择日期和时间(无时区) |
用于应该包含电子邮件地址的输入字段 | |
search | 用于搜索字段(搜索字段的表现类似常规文本字段) |
tel | 用于应该包含电话号码的输入字段 |
url | 用于应该包含 URL 地址的输入字段 |
输入限制:
这就是有关HTML表单的大概内容了,希望这篇HTML的表单及其input输入类型的知识点能对大家有所帮助。
组:定义,数组做什么的
PHP中数组的特点:数组没有类型,没有长度限制,可以有文本下标
数据遍历:foreach遍历,for(数组是从0开始,顺序增长的索引数组,count),each+list,一些列数组函数(current,key,next,prev,end,reset)
数组相关的函数
字符串-数组:explode,implode
验证码:range,array_rand(获取元素下标,顺序排序),shuffle
数据结构的模拟:栈和队列,array_push(入栈),array_pop(出栈),array_unshift,array_shift
SQL注入:addslashes,stripslashes(将添加的转义符号去掉)
用户在浏览器里输入相关数据,数据需要提交到服务器。
浏览器到底是如何将数据传递给服务器的?
url传递数据
表单提交数据(form)
PHP获取浏览器提交数据的方式:
$_GET:获取用户get方式提交的数据,url地址栏里面的数据
$_POST:获取用于post方式提交的数据,表单提交的数据
$_REQUEST:获取以上两种方式提交的数据(进行合并)
严格的讲,浏览器只有两种提交数据的方式:get提交和post提交
Get提交:url里本身的数据,表单get方式提交的数据
Post提交:表单以post形式提交的数据
$_REQUEST会对post和get方式提交的数据进行合并:array_merge()
Array_merge($_GET,$_POST):如果post方式提交的数据,如果与get方式提交的数据,有同名下标,则会用post覆盖get。
是什么绝对了是post覆盖get而不是get覆盖post?
是配置文件决定了顺序:php.ini中一个叫做request_order的配置,决定了覆盖的顺序
这个顺序决定了数据数组在array_merge()里面出现的顺序
如果在低版本里,可能没有request_order这个配置,是用variables_order配置的。
注意:
1.通常session不会放到$_REQUEST里去,$_REQUEST里通常会保存get,post和cookie数据。
2.$_REQUEST要慎用,因为$_REQUEST不安全。
Get与post的区别
1.安全性:post提交的数据看不见(一般用户看不到),get都是在地址栏里,用户一眼就可以看到;用户可以直接修改地址栏的信息
2.Get方式能提交的数据是有限的(比较少),比post小很多。
3.Get和post都只能提交字符流数据,如果要进行文件的传输(二进制流),必须使用post方式提交(配合其他)
如何选择使用get方式还是post方式提交数据?
1.如果数据安全性要求不高,且数据量比较少,可以使用get方式(因为简单,不需要使用表单)
2.如果数据量大,或者安全性要求较高(秘密等),应该使用post提交
3.如果要上传完文件,非post莫属
在PHP5.3以前,可以修改PHP的配置文件,register_globals,能够将用户提交的表单,直接生成表单名字对应的变量
<form method=”post” action=”post.php”>
用户名:<input type=”text” name=”username”/>
密码:<Input type=”password” name=”password” />
<input type=”submit” value=”提交”/>
</form>
当用户提交到对应的PHP界面post.php中,默认的只能使用$_POST获得用户的数据
$_POST[‘username’],$_POST[‘password’];
Php.ini:register_globals=on
$username,$password
从PHP5.3开始,这个功能被废弃,5.4之后直接删除了。
1.不安全,用户提交的数据不是很方便验证
2.PHP不相信任何外来数据
如果用户表单提交界面,使用js对用户提交的所有表单数据进行验证。那么PHP还有没有必要对表单提交的数据进行验证?(数据合法性)
答案的肯定有必要!
对于PHP来讲,js验证过的数据依然是外部数据。Js可以被用户禁用,所以PHP还必须对数据进行验证。
如果在一个PHP脚本中,既有PHP代码,又有html表单,同时该表单还是提交到当前页。就需要对用户操作进行判断,用户究竟是直接请求还是提交
Checkbox
复选框语法
篮球<input type=”checkbox” name=”名字” value=”值”/>
表现形式
技术实现
1.如何提交复选框的内容
表单
提交接收
选择了多个复选框,却只得到一个复选框的值
1)什么样的复选框能够被提交
复选框必须要有name属性
只有被选中的复选框才会被提交
2)多个复选框选中之后,只有一个被提交?
因为复选框的名字重复,浏览器只提交一个该名字的表单元素。最后一个被选中的复选框元素。
解决方式:给不同的复选框不同的名字,可以解决选中提交被覆盖的问题
3)无法区分复选框是否属于一类的问题?
采用数组的形式:给定name属性的值增加一个中括号[]
加上中括号之后,浏览器就不会把这个看似一样的名字当做相同的名字
提交之后
复选框加上中括号不会覆盖名字的原理
将表单复选框选中的元素添加到数据库
使用PHP1405数据库
创建hobby表
插入数据库代码
将数据从数据库拿出来并显示
之前所选择的爱好信息,在显示的时候,能够自动勾选上。
1.取出数据
2.把数据从字符串转化成数组
3.遍历数组,匹配选择
1)如何让复选框默认被选中?
在表单里添加一个checked=”checked”属性
2)如何判断一个元素是否在数组中存在?
In_array,判断一个元素字符在数组中存在,如果存在返回true,否则返回false
作业:将复选框显示采用数组遍历,构造checkbox表单的形式。
将用户浏览器端的文件上传到服务器端的过程就是文件上传。
1) 哪里会用到文件上传?
头像管理,相册管理,共享文件,文件下载。。。
2)文件上传浏览器端,要做什么呢?
1. 选中文件
2. 点击上传
3)文件上传服务端,要做什么呢?
1. 接收用户上传的文件
2. 判断文件的类型和内容
3. 将文件保存到服务器上
如果要实现文件上传,必须保证两点:
1.浏览器要有文件表单域
保证表单的提交方式是post
<input type=”file” name=”名字” />
2.保证PHP允许文件上传功能
配置文件开启文件上传功能
修改临时文件上传的路径
如果不做修改,那么该目录指的是操作系统的临时目录,win7对应的是C:/Windows/Temp
文件上传
1.准备文件上传表单
2.准备接收文件的PHP文件
3.提交测试
文件没有上传成功,只是上传了一个文件名。原因?
Get或者post都只能提交字符流的字符串,不能够提交二进制流数据,而文件本身是二进制流
4.修改文件上传表单域,增加一个二进制流配置enctype=”multipart/form-data”
经测试,怪异的事情发生了,原来保存着$_POST里面的文件名不见了。原因?
文件上传成功了!
但是因为脚本立即结束,临时文件马上被删除了。如果想要看临时文件是否存在
5.PHP真正接收上传的文件
$_FILES预定义全局变量,保存用户上传的文件信息。
6.将临时文件给放到指定的文件上传目录
PHP提供了两个函数
Copy:将一个文件复制一份,将复制的这份放到指定的目录(会保留源文件)
Move_uploaded_file:将上传的文件移动到指定的目录(不会保留源文件)
文件上传流程
文件上传会因为编码的原因导致上传的中文名字会变成乱码。所以解决该问题的方式,就是对上传的文件进行重命名。
文件重命名
改变的是文件的名字,不改变文件后缀名
1.修改文件名字(系统生成)
2.保证原来文件的后缀名
文件上传函数封装(简单)
1.判断用户是否上传文件
2.正常情况下应该判断文件上传错误信息
只要当文件上传错误信息为0的时候才上传成功的,其他都是上传失败
3.文件重命名
4.移动文件
5.调用文件上传函数
PHP中没有算法,在底层的语言当中算法应用的比较多。
基本排序算法:冒泡算法,选择排序,插入排序,快速排序。
都是对数组进行排序,数组里面都是数值元素
冒泡算法
假设升序排序,每次将最大的那个数值给冒到最后
原理
代码
找出元素在数组中存在的位置。(下标)
查找就是遍历数组,拿元素与需要查找的值进行比对,比对成功则返回对应的下标,失败则继续直到数组末尾。
二分法
前提:要查找的数组是一个已经排序好的数组。
将数组进行折半,对中间元素进行比较,如果没有得到结果则从另外一半再进行折半,直到找到对应的元素
原理
代码
相关链接:重蔚php学习第二十八天——数组,二维数组,数组的遍历
重蔚php学习第二十八天——数组,数组相关函数,数据结构模拟
*请认真填写需求信息,我们会在24小时内与您取得联系。