2011-03-10 2 views
0

나는이 $ _GET [ '전'] 변수가 하나 내가 때마다 1의 클릭 가이드를 높이기 위해 내 URL을 변경하려면

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; 
    } 

} 

? 전 씩 증가하는 얻는 방법 ? = 1 가이드 전 = 2 가이드 전 =은 HTML에서 등

답변

0

3, 그냥 이렇게 :

<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

전체 코드를 pastebin'd하면 도움이 될까요? – erichmond

+0

아마도 -하지만 당신은 이미 같은 주제에 대해 또 다른 질문을 한 것 같습니다. 원래의 질문을 수정하여 다시 게시하는 것이 더 낫습니다. – Leniency