簡體   English   中英

php REQUEST_URI

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM