2011-03-10 107 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