如何在PHP中使用 GET 方法访问通过 URL 发送的数据?
在网站上,我们经常使用表单来收集数据,用户登录/注册框,搜索框搜索网页等。因此,输入字段用于使网站具有交互性并收集数据。但我们知道 HTML 不能将数据存储在数据库中,因此我们使用PHP等后端脚本语言。
GET方法的URL 结构:在 GET 方法中,URL 包含从前端发送的所有数据。网址就像
https://geeksforgeeks.org/getdataurl?field1=data1&field2=data2&field3=data3...
GET 方法 URL 的特征
- 通常,URL 很长
- 可以使用问号“?”将 URL 分为两部分。
- 数据的每个字段由 & 号分隔。
读取数据: PHP具有 $_GET 超全局变量,它接受来自 URL 的所有数据并将其存储为数组。
句法:
print_r($_GET);
获取数据并存储在包含一些额外信息的数组中。
var_dump($_GET);
示例 1:在此示例中,我们将使用 print_r()函数。这将以数组的形式给出输出。
PHP
";
print_r($_GET);
}
else {
echo "No GET data passed!";
}
?>
PHP
";
var_dump($_GET);
}
else {
echo "No GET data passed!";
}
?>
输出:
示例 2:在此示例中,我们将使用 var_dump()函数。这将以带有一些额外信息的数组的形式给出输出。我们正在使用 htmlspecialchars()函数来获取未更改的数据,即使它是 HTML 代码。
PHP
";
var_dump($_GET);
}
else {
echo "No GET data passed!";
}
?>
输出:
如果 URL 中的问号后面没有任何内容,则 $_GET 变量将返回一个空数组。 $_GET 是一个全局变量,因此它在整个脚本中都可用,我们不必将它初始化为全局变量。要记住的另一件事是,如果我们想在 URL 中传递一个以空格分隔的值,那么它会被编码,并且在 URL 中空格被转换为“+”,当使用 $_GET 读取它时,它会再次被解码。