$_GET变量获取通过get方式提交过来的数据,$_POST 变量获取通过post方式提交过来的数据。注意使用的键名都是表单的name属性的值。
- <form action="action.php" method="get">
- <input type="textbox" name="xingming" value="">
- <input type="textbox" name="age" value="">
- <input type="submit" value="get">
- </form>
- <form action="action.php" method="post">
- <input type="textbox" name="xingming" value="">
- <input type="textbox" name="age" value="">
- <input type="submit" value="post">
- </form>
- <?php
- echo $_GET['xingming']."<br>";
- echo $_GET['age']."<br>";
- echo $_POST['xingming']."<br>";
- echo $_POST['age']."<br>";
- ?>
$_REQUEST的官方说明如下:$_REQUEST — HTTP Request 变量默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。
也就是说,再不关心是get过来的还是post,总之要取得某一个键的值,就用$_REQUEST就可以了。
不过$_REQUEST速度会比$_GET,$_POST稍慢点。
通过$_SERVER获取服务器端信息
$_SERVER是一个数组,包含了headers, paths, script locations等多种信息。早期的php版本使用$HTTP_server_VARS数组,现在已经弃用了。
不同的服务器$_SERVER的信息也不一定相同的。通常的用法如下:
echo $_SERVER['SERVER_ADDR'];
echo $_SERVER['QUERY_STRING'];
比较常用的获取QUERY_STRING的方法,通过$_SERVER['QUERY_STRING']得到的是诸如name=mike&age=30这样的。要把这种格式的值转成变量,PHP中有个方法parse_str,可以实现这个功能。
官方的示例:
- <?php
- $str = "first=value&arr[]=foo+bar&arr[]=baz";
- parse_str($str);
- echo $first; // value
- echo $arr[0]; // foo bar
- echo $arr[1]; // baz
- parse_str($str, $output);
- echo $output['first']; // value
- echo $output['arr'][0]; // foo bar
- echo $output['arr'][1]; // baz
- ?>
下面是在本地环境通过代码:
- echo "";
- var_dump($_SERVER);
- echo "";
很有格式的把这个数组完整的打印出来。31个。
array(31) {
["HTTP_ACCEPT"]=>
string(3) "*/*"
["HTTP_ACCEPT_LANGUAGE"]=>
string(5) "zh-CN"
["HTTP_USER_AGENT"]=>
string(205) "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; Avant Browser)"
["HTTP_ACCEPT_ENCODING"]=>
string(13) "gzip, deflate"
["HTTP_HOST"]=>
string(14) "localhost:8080"
["HTTP_CONNECTION"]=>
string(10) "Keep-Alive"
["HTTP_COOKIE"]=>
string(154) "codehilite=IsPre=True&IsShowRowNumber=False&IsUseBR=False&Language=Csharp; iGHA2Cas=key=s8hoPBw6cWYHJ34NowHt%2f77gsEiQ9U9K0dDGPYjwLCFzQbqnNjlYMnUw9OOCF68u"
["PATH"]=>
string(540) "C:\Program Files (x86)\ActiveState Komodo IDE 7\;C:\Program Files (x86)\ActiveState Komodo Edit 7\;E:\app\Administrator\product\11.1.0\client_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;d:\php-5.4.4-Win32-VC9-x86\;"
["SystemRoot"]=>
string(10) "C:\Windows"
["COMSPEC"]=>
string(27) "C:\Windows\system32\cmd.exe"
["PATHEXT"]=>
string(53) ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
["WINDIR"]=>
string(10) "C:\Windows"
["SERVER_SIGNATURE"]=>
string(0) ""
["SERVER_SOFTWARE"]=>
string(31) "Apache/2.2.22 (Win32) PHP/5.4.4"
["SERVER_NAME"]=>
string(9) "localhost"
["SERVER_ADDR"]=>
string(9) "127.0.0.1"
["SERVER_PORT"]=>
string(4) "8080"
["REMOTE_ADDR"]=>
string(9) "127.0.0.1"
["DOCUMENT_ROOT"]=>
string(13) "D:/phpwwwroot"
["SERVER_ADMIN"]=>
string(11) "dds@wwd.com"
["SCRIPT_FILENAME"]=>
string(29) "D:/phpwwwroot/RecJP/test2.php"
["REMOTE_PORT"]=>
string(5) "23827"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(16) "/RecJP/test2.php"
["SCRIPT_NAME"]=>
string(16) "/RecJP/test2.php"
["PHP_SELF"]=>
string(16) "/RecJP/test2.php"
["REQUEST_TIME_FLOAT"]=>
float(1351577790572)
["REQUEST_TIME"]=>
int(-1336907668)
}
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/1043326,如需转载请自行联系原作者