PHP预定义变量(一)

预定义变量是由PHP预设的一组 数组 ,其数据包括运行环境、用户输入数据等。因其作用范围是全局生效,所以又称为超全局变量或自动全局变量。

一、HTTP GET变量($_GET):通过URL提交的变量,或表单使用“GET”方法生成的变量,都会以数组的形式保存在$_GET 变量中。如:

postValue.php中:

<a href="preDefineVar.php?week=周四">通过GET方式传值</a>

preDefineVar.php中接收:

//if($_GET) var_dump($_GET);
if(isset($_GET["week"])) echo "接收GET方式传递过来的数据:{$_GET['week']}\n";

二、HTTP POST变量($_POST):单使用“POST”方法生成的变量,都会以数组的形式保存在$_POST 变量中。如:

postValue.php中:

<form name="postForm" action="preDefineVar.php" method="post">
用户名:<input type="text" name="username" value="" />
<input type="submit" name="btn" value="提 交" />

preDefineVar.php中接收:

if($_POST and array_key_exists("username",$_POST)) echo "接收POST方式传递过来的数据:{$_POST['username']}\n";

三、HTTP Cookies变量($_COOKIE):使用PHP的COOKIE函数或其他程序产生的COOKIE值,都保存在“$_COOKIE”数组中。
1、COOKIE简介
COOKIE是用户浏览网站时,网站脚本程序存放在用户电脑上的一个文本文件,COOKIE通常只能存放在指定的目录,其内容是用户访问网站时的私有信息,这些信息采用标准格式记录。当用户下一次访问网站时,网站的脚本文件就可以读取这些信息,并给用户提供个性化的浏览服务。
与COOKIE相对应的是SESSION,SESSION也可以记录用户的私有信息,但是其信息主体是存放在服务器上。

2、COOKIE文件存储位置

Cookie文件一般存储在C盘下的Cookie文件夹或Temporary Internet Files文件夹下,可以在C盘下搜索这两个文件夹找到。

或者通过“工具 - Internet选项 - 浏览历史记录”,点击设置,可以看到具体的位置。如图:



我的电脑是WIN8系统,WIN8系统下存储在:C:\Users\(用户名)\AppData\Local\Microsoft\Windows\Temporary Internet Files\

其他操作系统的存储位置,可以通过上述方法找到。

3、使用函数创建COOKIE
当服务器脚本运行时,要想在客户机上创建一个COOKIE,可以使用setcookie()和setrawcookie()函数。setcookie()函数有7个参数,下面通过演示来说明这些参数的作用,如:
//设置一个COOKIE,其值为空
setcookie("c1");
//设置一个COOKIE,其值为 this is cookie
setcookie("c2","this is cookie");
//设置一个COOKIE,设置其作用时间为1个小时。设置作用时间后,才会在客户电脑上生成Cookie文件。不设置作用时间的情况,作用原理类似Sesssion
setcookie("c3","一个小时后失效",time()+3600);
//设置一个COOKIE,使其作用域是全站
setcookie("c4","cookie的path参数",time()+3600,"/");
//设置一个COOKIE,使其只能在某个文件目录下使用
setcookie("c5","cookie的path参数",time()+3600,"/html/");
//设置一个COOKIE,使其只能用于个网站
setcookie("c6","cookie的domain参数",time()+3600,"/","www.xxx.com");
//设置一个COOKIE,使其可以在某个网站的二级域名网站上都可使用
setcookie("c7","cookie的domain参数",time()+3600,"/",".xxx.com");
//设置一个COOKIE,使其值只能使用https方式传输
setcookie("c8","cookie的secure参数",time()+3600,"/","",1);
//设置一个COOKIE,使其只能用于HTTP方式
setcookie("c9","cookie的httponly参数",time()+3600,"/","",0,1);
//设置一个COOKIE,允许其他脚本语言访问.
setcookie("c10","cookie的httponly参数",time()+3600,"/","",0,0);
//使用setrawcookie()函数设置一个COOKIE
setrawcookie("c11","这是setrawcookie()函数设置的COOKIE");
foreach($_COOKIE as $key=>$value){
 echo "$key=>$value<br>";
}
注:如果在实际应用中,安全性要求不高的情况下,可以使用setrawcookie()函数设置cookie,setcookie和setrawcookie()函数的使用方法是一样的,只是产生的cookie值有差异。
注意:为防止出现错误提示信息,在页面最上面添加代码<?php ob_start();?>。具体原理和用法参看我的另一篇文章(待整理发出来)

注意:c5、c6、c7都只能在其指定的条件下才能创建或删除成功。如:c5的创建、使用和删除都必须在“\html\”这个目录下的文件中执行代码,才能成功。

4、使用数组的方式添加cookie,如:
//使用数组方法添加COOKIE
$_COOKIE["c12"] = "这是使用数组单元方式添加的COOKIE";

5、使用COOKIE,使用方法与访问数组的方法是一样的。如:
//使用不同方法设置COOKIE
setcookie("name","小王");
setrawcookie("sex","男");
$_COOKIE["age"] = 18;
//使用遍历数组方式访问所有COOKIE变量
foreach($_COOKIE as $key=>$value){
 echo "$key=>$value<br>";
}

echo "在双引号内使用键名访问COOKIE值:";
echo "姓名:$_COOKIE[name],性别:$_COOKIE[sex],年龄:{$_COOKIE['age']}";
echo "<br>使用.组成字符串:";
echo "姓名:".$_COOKIE["name"].",性别:".$_COOKIE["sex"].",年龄:".$_COOKIE["age"];

6、删除COOKIE

setCookie("name","",time()-1);   //将cookie的过期时间设置到当前时间之前



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值