我有以下php脚本来读取URL中的请求:
$id = '/' != ($_SERVER['REQUEST_URI']) ?
str_replace('/?id=' ,"", $_SERVER['REQUEST_URI']) : 0;
当网址为http://www.testing.com/?id=123
但现在我想在url字符串http://www.testing.com/?id=123&othervar=123
我应该如何更改上面的代码来检索这两个变量?
答案 0 :(得分:14)
您可以使用正则表达式,也可以继续使用str_replace
。
例如
$url = parse_url($_SERVER['REQUEST_URI']);
if ($url != '/') {
parse_str($url['query']);
echo $id;
echo $othervar;
}
答案 1 :(得分:5)
答案 2 :(得分:1)
也许
$id = isset($_GET['id'])?$_GET['id']:null;
和
$other_var = isset($_GET['othervar'])?$_GET['othervar']:null;
答案 3 :(得分:0)
由于通过url传递的vars是$ _GET变量,你可以使用filter_input()
函数:
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
$othervar = filter_input(INPUT_GET, 'othervar', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
它会存储每个var的值并清理/验证它们。
答案 4 :(得分:0)
您可以简单地使用async
特别是如果您知道$_GET
的名称。
为了安全起见,请使用othervar
测试存在性。