Codeigniter, получить переменную из сегментного URL с помощью строк запроса - PullRequest
0 голосов
/ 29 декабря 2010

Я удалил index.php из моего URL, но теперь мне нужно получить некоторую переменную из URL, решением CI является обновление config.php

$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;

, это прекрасно работает, когда я используюindex.php в URL, но мне нужно это без index.php

это мой httacess

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA

любое решение?, тыс.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2010

У меня была такая же проблема в CI, поэтому я написал эту функцию, чтобы получить строки запроса из переменной $ _SERVER ['REQUEST_URI'] и извлечь их.

<code>function extract_querystrings() {
    $uri = $_SERVER['REQUEST_URI'];
    $uri = explode('?',$uri);
    if (count($uri)>1) {
        foreach($uri AS $ur) {
            $ur = explode('&',$ur);
            foreach($ur AS $u) {
                $u = explode('=',$u);
                if ($u[0]=='/') continue;
                $this->query_strings[$u[0]] = $this->input->xss_clean($u[1]);
            }
        }
    }
    //echo '<pre>',print_r($this->query_strings,true),'
'; }

Эта функция вызывается в __construct () моего пользовательского главного контроллера.

Вы можете изменить следующую строку с

$this->query_strings[$u[0]] = $this->input->xss_clean($u[1]);

К

$_GET[$u[0]] = $this->input->xss_clean($u[1]);

И посмотри, сработает ли это для тебя.

0 голосов
/ 30 декабря 2010

Вы смотрели библиотеку Эллиота Хогина в Facebook для CodeIgniter? Это может дать некоторое представление об использовании CI с Facebook.

http://www.haughin.com/code/facebook/

...