[英]php REQUEST_URI
我有以下PHP腳本來讀取URL中的請求:
$id = '/' != ($_SERVER['REQUEST_URI']) ?
str_replace('/?id=' ,"", $_SERVER['REQUEST_URI']) : 0;
當URL為http://www.testing.com/?id=123
但現在我想在url字符串http://www.testing.com/?id=123&othervar=123
傳遞1個變量
我應該如何更改上面的代碼來檢索這兩個變量?
您可以使用正則表達式,也可以繼續使用str_replace
。
例如。
$url = parse_url($_SERVER['REQUEST_URI']);
if ($url != '/') {
parse_str($url['query']);
echo $id;
echo $othervar;
}
輸出將是: http : //www.testing.com/123/123
我認為parse_str是你正在尋找的東西,像這樣的東西應該為你做的伎倆:
parse_str($_SERVER['QUERY_STRING'], $vars);
然后$vars
數組將保存所有傳遞的參數。
你可以簡單地使用$_GET
特別是如果你知道othervar
的名字。 如果您想要安全,請使用if (isset ($_GET ['varname']))
來測試是否存在。
也許
$id = isset($_GET['id'])?$_GET['id']:null;
和
$other_var = isset($_GET['othervar'])?$_GET['othervar']:null;
由於通過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的值並清理/驗證它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.