一、
1.属性:
(1)name:表单名称
(2)method:提交方式(GET(默认)【把表单内容附加在URL地址后面发送】/POST【把表单内容作为数据块发送给服务器上的处理程序,浏览器上的地址栏不显示提交内容】)
(3)action:url
(4)enctype:编码方式
(5)target:
①_blank
②_parent
③_self
④_top
2、表单元素
(1)输入域标记:
(2)选择域标记和
(3)文字域标记
3、表单数据的传递的过程
(1)表单向服务器提交的信息内容
(2)表单三要素
G
E
T
[
“
n
a
m
e
”
]
和
_GET[“name”]和
GET[“name”]和_POST[“name”])变量用于检索表单中的信息
在form.html文件中
<form action="form.php" method="post">
<input type="text" name="name">
<br>
<input type="text" name="age">
<br>
<input type="submit" value="提交">
</form>
在form.php文件中
$name=$_POST["name"];
$age=$_POST["age"];
echo $name.$age;
从而实现php与html传值
2、获取下拉菜单数据
(1)下拉菜单单选:select(name=“q”)、option
(2)下拉菜单多选:select multiple=“multiple” name=“q[]”,option
(3)单选按钮表单:input type=radio
(4)checkbox复选框
二、表单数据的传递
1、GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地栏)
2、POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器地址栏)
表单提交形式:
name=value&name=value&name=value…
三、获取URL参数
表单通过get/post方式把数据提交到服务器,php代码可以通过合适的方式获取表单、URL、SESSON的值。
1、GET:
不安全,长度有限制;
URL地址/?name=value&name=value…
2、Post:
把表单信息作为数据块发送服务器上的处理程序,浏览器上不显示,隐式提交,安全,长度无限制
3、PHP超全局变量及功能
超全局变量 | 功能 |
---|---|
$_POST | 获取客户端以post方式发出的http请求 |
$_GET | 获取客户端以get方式发出的http请求 |
$_REQUEST | 包含 $_GET 、 $_POST 、$_COOKIE三类数组中的信息 |
$_SERVER | 获取http请求中的环境变量信息 |
$_SESSION | 存储和读取为单个用户保存的信息 |
$_COOKIE | 读取用户的cookie信息 |
$_FILE | 获取通过POST方式上传文件时的相关信息,为多维数组 |
(1)$_POST[]获取表单数据
格式:变量名 = $_POST['name']
获取格式
(2)$_GET[]获取URL字符串信息
格式:变量名 = $_GET['name']
四、页面跳转
1、header(“location:$url”)
2、<meta url=http://......>
3、<mark>window.location.href="http://......"</mark>(常用)
五、会话控制
1、Cookie
Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取。(有长度限制,不安全,不能跨访问)
(1)形式:
会话Cookie:不设置过期时间,Cookie生命周期为浏览器会话周期,只要关闭浏览器,Cookie就消失
永久Cookie:设置过期时间,Cookie保存硬盘,关闭浏览器再次打开在Cookie在过期时间都存在,可以被不同浏览器的进程间共享。
(2)创建Cookie
语法:setcookie(name【Cookie的变量名】,value【Cookie变量值】,expire【Cookie有效期】,path【有效目录】,domain【有效域名】,securre【是否采用HTTPS来传输Cookie】)
注意:
setcookie()必须在标签前;
Cookie变量的值总是字符串数据类型;
(3)读取Cookie
$_COOKIE[“name”]
(4)删除Cookie
方法一:setcookie()中,变量值为空,不设置有效时间;
方法二:浏览器手动删除
2、Session
服务器与客户端不断的交流
(1)创建Session
若用户第一次访问页面,且未创建Session对象,服务器会自动为用户创建Session对象(Session ID和其它Session变量)
格式:session_start()【必须放在html标签前】
(2)读取Session
$_SESSION[“name”]
(3)设置Session有效时间
ini_set()
(4)删除Session
unset($_SESSION[“name”]):删除单个Session变量
session_unset():删除所有Session变量,只能删除$_SESSION数组中的所有元素
(5)销毁Session
session_destroy()
3、Session与Cookie的异同:
(1)存放位置:Session保存在服务器上,客户端不知道其中的信息;Cookie保存在客户端服务器可以知道其中的信息。
2)存放形式:Session中保存的是对象,Cookie中保存的是字符串。
(3)路径:Session不能区分路径,同一个用户在访问网站期间,所有的Session在任何一个地方都可以访问到;而Cookie中如果设置了路径参数,那么同一个网站中不同路径下的Cookie是不能互相访问的。
(4)用途:Session适合做客户的身份验证,Cookie 适合保存用户的个人设置、爱好等。
(5)安全性:Cookic不是很安全,别人可以分析存放在本地的Cookie并进行Cookie欺骗,Session较Cookie更安全一些 。
(6)大小及数量限制:单个Cookic在客户端的大小限制是3KB,就是说一个站点在客户端存放的Cookic不能超过3KB。不同浏览器所含Cookic的最大个数不同,一般30-50个;一般认为Session没有大小限制。
(6)Session与Cookie的联系:
Session需要借助Cookie才能正常工作,如果客户端完全禁止Cookie, Session将失效,因为Session是由应用服务器维持的一个服务端的存储空间,用户在连接服务器时,会由服务器生成唯一的SesssionID,用该SessionID为标识来存取服务端的Session空间。而SessionID存储在Cookie中,用户提交页面时会将这SesionlD提交到服务端,来存取Session数据.这一过程是不用开发人员干预的,所以一旦客户端禁用Cookie,那么Session也会失效。
补充:
1、isset()函数:只用于变量,检查是否设置;不存在返回FALSE,存在若值为NULL,返回FALSE,存在不为NULL返回TRUE;
2、count()函数:获取数组的元素总数;
3、int与intval:
int:指Integer整型;intval:用来获取变量整数值的函数,如果参数是字符串,则返回字符串中第一个整数值。