CodeIgniter current_url не показывает строки запроса - PullRequest
13 голосов
/ 12 ноября 2010

Привет. Я пытаюсь сохранить текущий URL в переменной сеанса.

Мое приложение использует строки запросов, такие как www.domain.com/add?url=http://www.google.com

но current_url () возвращает ww.domain.com/add. URL без строк запроса.

Я проверил вспомогательный файл, и current_url, кажется, просто добавляет сегменты uri к набору site_url в конфигурации.

    function current_url()
{
    $CI =& get_instance();
    return $CI->config->site_url($CI->uri->uri_string());
}

Кто-нибудь знает, как я могу получить строки запроса, чтобы добавить их, или даже просто получить весь URL.

Ответы [ 2 ]

30 голосов
/ 12 ноября 2010

Создать MY_url_helper:

function current_url()
{
    $CI =& get_instance();

    $url = $CI->config->site_url($CI->uri->uri_string());
    return $_SERVER['QUERY_STRING'] ? $url.'?'.$_SERVER['QUERY_STRING'] : $url;
}
5 голосов
/ 12 ноября 2010

Не думаю, что у CodeIgniter есть помощники для этого.Просто используйте для этого встроенную поддержку PHP:

Выведите полный URL-адрес:

echo base_url().ltrim($_SERVER['REQUEST_URI'], '/');

Только строки запроса:

echo $_SERVER['QUERY_STRING'];
...