увеличение переменной $ _GET - PullRequest
0 голосов
/ 11 марта 2011

Как мне получить эту переменную $ _GET ['ago'] для увеличения на 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 и т.д.

1 Ответ

0 голосов
/ 11 марта 2011

В HTML, просто сделайте это:

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

Ваша функция filter_overnight тоже немного странная - думаю, ее можно сделать более читабельной:

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 могут быть опасными вещами - я считаю, что лучше всего обращаться с ними как с неизменяемыми и копировать значения из них по сравнению с работой над ними напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...