PHP $_GET 变量
PHP $_GET 变量
基本概念
$_GET
变量是 PHP 中一种超全局变量,用来获取通过 URL 传递给当前脚本的参数值。
使用 $_GET
变量,可以方便地从 URL 中获取参数并在后端进行处理。与 $_POST
变量不同,$_GET
变量将参数值添加到 URL 末尾,具有可读性和可访问性。
语法格式
$_GET
变量的语法格式如下:
[value] = $_GET[key];
其中,value
为获取到的参数值,key
为参数名称。
示例
URL: http://localhost/test.php?name=john&age=20
<?php
$name = $_GET['name'];
$age = $_GET['age'];
echo "姓名:" . $name . ",年龄:" . $age;
?>
输出结果:
姓名:john,年龄:20
注意事项
$_GET
变量只能获取通过 URL 传递的参数,不能用于 POST 请求等其他类型的请求。- 敏感的数据不应该通过 URL 传递,如密码等,
- URL 中的参数值需要进行 URL 编码,以防止出现错误。
URL 编码
URL 编码是为了在 URL 中传递的参数包含非 ASCII 字符或特殊字符(如 =
、&
等)时,将这些字符转换成可以安全传输和处理的 ASCII 码字符。
PHP 中提供了三个函数进行 URL 编码:
urlencode()
用于将字符串进行编码,可以用于编码 URL 中参数值。urldecode()
用于解码编码后的字符串,还原成原始字符串。rawurlencode()
编码规则上与urlencode()
类似,但有些细节上略有不同。
示例
<?php
$str1 = "hello";
$str2 = "你好";
$str3 = "hello World!";
echo "urlencode(\$str1) = " . urlencode($str1) . "<br>";
echo "urlencode(\$str2) = " . urlencode($str2) . "<br>";
echo "urlencode(\$str3) = " . urlencode($str3) . "<br>";
?>
输出结果:
urlencode($str1) = hello
urlencode($str2) = %E4%BD%A0%E5%A5%BD
urlencode($str3) = hello+World%21
结论
通过 $_GET
变量和 URL 编码,可以轻松地实现后端处理 URL 中传递的参数。同时需要注意参数值的安全性和编码规则的细节。