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

注意事项

  1. $_GET 变量只能获取通过 URL 传递的参数,不能用于 POST 请求等其他类型的请求。
  2. 敏感的数据不应该通过 URL 传递,如密码等,
  3. 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 中传递的参数。同时需要注意参数值的安全性和编码规则的细节。