php预定义超全局数组

php预定义超全局变量

  • 超全局变量是在全部作用域中始终可用的内置变量。
  • 全局变量









  • 超全局变量一是有全局变量的特性,而是无须声明直接使用。(系统创建及维护)





";
 	echo print_r($_SERVER);
	echo "
"; ?>
  • 每请求一次,创建一个超全局变量。

  • 预定义超全局变量有以下九种

    • $_GET
    • $_POST
    • $_REQUEST
    • $_SERVER
    • $_ENV
    • $_FILES
    • $_COOKIE
    • $_SESSION
    • $GLOBALS

$_GET

  • 原理
    php预定义超全局数组_第1张图片
  • 使用一:浏览器通过超链接传送信息给服务器(默认是GET)





//注意:信息如何传递!!!
数据







";
 	echo print_r($_GET);
	echo "
"; echo $_GET['name']; ?>
  • 注意:IE5.5和IE6存在中文奇数乱码的问题,解决?urlencode和urldecode。





数据";
?>







";
 	echo print_r($_GET);
	echo "
"; echo urldecode($_GET['city']); ?>
  • 使用二:浏览器通过表单传送信息给服务器(最好使用$_POST)





输入内容:









  • 禁止启用register_globals:设置register_globals=off;
  • 启用register_globals,以下代码访问时若输入http://localhost:88/1.php?a=10&b=20;将得到10 20。









$_POST

  • 通过post方式提交的数据,会被封装到$_POST超全局数组中。
  • 使用一:浏览器通过表单传送信息给服务器(有些数据必须使用post方式)





用户名:
密码:
性别:
籍贯:
爱好:唱歌 跳舞 LOL
个人简介:
文件上传:





"; 
	//如何接收checkbox的所有数据(注意中括号[]):唱歌
	echo print_r($_POST);
	echo "
"; $hobbies=$_POST['hobby']; foreach($hobbies as $key=>$val){ echo "
".$key." ".$val; } ?>
  • POST方式和GET方式的区别

    • POST方式安全性好
    • 数据传输大小(POST方式大)
    • 保存到收藏夹(GET方式)

$_REQUEST

  • $_REQUEST包含$_GET、$_POST、$_COOKIE数组的信息。
  • 注意不要经常使用$_REQUEST(因为将多个信息混合)。





超链接
用户名:
密码:









  • 通过$_SERVER[‘REQUEST_METHOD’]区分GET和POST









$_SERVER

  • $_SERVER主要包含了http请求行和消息头的信息,同时还有服务器的一些信息(DOCUMENT_ROOT,SCRIPT_FILENAME…)。

$_ENV

  • 获取服务器端的环境变量,通过修改php.ini的variables_order="EGPCS"启动。

$GLOBALS

  • 包含了全部变量的全局组合数组。
  • 当定义一个全局变量,也会被$GLOBALS管理。





";
	print_r($GLOBALS);
	echo "
"; ?>

php预定义超全局数组_第2张图片

你可能感兴趣的:(php)