2011-03-10 151 views
0

我如何獲得這個$ _GET [「前」]變量1

public function __construct($future=false) { 
    $GLOBALS['twd_helper']=&$this; 
} 
public function query_string($add, $remove=null) { 
    $qs_data = array(); 
    parse_str($_SERVER['QUERY_STRING'], $qs_data); 
    $qs_data = array_merge($qs_data, $add); 
    if ($remove) { 
     foreach($remove as $key) { 
      if (isset($qs_data[$key])) { 
       unset($qs_data[$key]); 
      } 
     } 
    } 
    return http_build_query($qs_data); 
} 


public function filter_overnight() { 
    if (isset($_GET['tod']) && $_GET['tod'] == 'overnight') { 
     $overnight = $_GET['overnight']; 
    } 

    if (($_GET['ago'])) { 
     $_GET['ago'] ? $_GET['ago']++ : $_GET['ago'] = 0; 
    } 

} 

我想改變我的URL由1每次增加其點擊 指南?前遞增??= 1個 指導前= 2 指導前= 3 等

回答

0

在HTML,只是這樣做:

<a href="my_link.php?ago=<? echo (int)$_GET['ago'] + 1 ?>">Link Text</a> 

你filter_overni GHT功能是有點奇怪太 - 我認爲這可能是更加可讀:

if ($_GET['ago']) 
{ 
    $_GET['ago'] = (int)$_GET['ago'] + 1; 
} 
else 
{ 
    $_GET['ago'] = 0; 
} 

或者與三元:

$_GET['ago'] = ($_GET['ago']) ? (int)$_GET['ago'] + 1 : 0 

沒有看到整個代碼,我不知道爲什麼filter_overnight是遞增$ _GET ['ago'],但一看起來它似乎通過改變一個全局值(這也會導致無意義的增量)而在函數中加入了無證的副作用。 PHP中的超全局變量可能是危險的東西 - 我認爲最好將它們視爲不可變的,並將它們的值複製出來直接對它們進行處理。

+0

如果我粘貼整個代碼,會有幫助嗎? – erichmond 2011-03-11 06:59:37

+0

可能 - 但我看到你已經在同一主題的另一個問題上這樣做了。最好修改你的原始問題以使其更清楚,而不是重新發布。 – Leniency 2011-03-11 16:09:53