簡體   English   中英

PHP GET URL參數名稱中帶有點

[英]PHP GET url param with dot in name

有一些似乎不起作用的東西。 說我有一個網址

www.test1.php?WC.id = 12345

然后以下什么都不返回

$_GET['WC.id'];

如果我刪除了WC。 部分,則返回12345。我的URL參數名稱中可以沒有句點嗎?

謝謝

文檔中

重要的是要注意,PHP會自動用下划線替換輸入變量名稱中的所有點。 [...] PHP不可逆地修改包含這些字符的字段名稱,以保持與不推薦使用的register_globals功能的兼容性。

以下是PHP轉換為_(下划線)的字段名稱字符的完整列表(不僅僅是點):

 chr(32) ( ) (space) chr(46) (.) (dot) chr(91) ([) (open square bracket) chr(128) - chr(159) (various) 

因此,您可以使用WC_id名稱訪問WC.id

如果使用以下命令獲取所有GET參數:

<?php
    var_dump($_GET);
?>

您將看到一個名為WC_id的變量

array (size=1)
  'WC_id' => string '12345' (length=5)

所以我認為您需要使用以下參數獲取此參數:

<?php
    $WC_id = $_GET['WC_id']; // Here is your 12345
?>

您不應在URL中使用點來傳遞$_GET 您可以將其替換為_ ,這樣可讀性更好,並且不會有任何問題。

就是www.test1.php?WC_id=12345$_GET['WC_id']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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