超全局变量:一个请求对应一个进程。预定义超全局变量在一个脚本内是可见的,
而自定义的在另外的脚本是不可见的。
全局变量与超全局变量的区别:无需预定义
1. $_GET
php处理原理:
index.php
echo "<a href='a.php?city=shanghai&name=wjh'>传递数据</a>";
数据经过 apache 封装,传递给 a.php
a.php
echo "<pre>";
var_dump($_GET);
echo "</pre>";
IE 5.5 6 中文奇数乱码:
utf-8 一个汉字用3个字节表示,IE 5.5 6 没有支持utf-8。会把高位截断。
解决方案:
1. 加全角空格(不推荐)
2. 使用 urlencode(),urldecode()函数对 URL进行编码解码.php5.3 自动解码
2. $_POST
post 自动用 urlencode()函数编码
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<h1>用户注册</h1>
<form method="post" action="a.php">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
性别:<input type="radio" name="sex" value="nv"/>女<input type="radio" name="sex" value="nan"/>男<br/>
你喜欢什么:
<input type="checkbox" name="hobby[]" value="唱歌"/>唱歌
<input type="checkbox" name="hobby[]" value="跳舞"/>跳舞
<input type="checkbox" name="hobby[]" value="打球"/>打球
<input type="submit" value="提交"/>
</form>
</body>
</html>
checkbox 用数组
<?php
header('Content-Type:text/html;charset=utf8');
echo "<pre>";
var_dump($_POST);
echo "</pre>";
3. $_REQUEST