2010-08-03 2 views
0

Я знаю, что это было предложено раньше, но мне это нужно для партнерской отслеживания ...Как я могу прочитать QueryString в CodeIgniter?

http://www.mysite.com/controller/method/params?affiliate=123&sub_id=456

Как я могу получить Params и параметры в $ _GET, изложенные в этом URL?

+0

Возможно, вы захотите проверить http://codeigniter.com/user_guide/general/urls.html, как CI обрабатывает строки запроса при включении ... –

+0

также может захотеть прочитать это - http://stackoverflow.com/ вопросы/2171185/CodeIgniter-PHP-каркасная потребность к GET-запрос-строке –

ответ

3

И еще, иногда you need access to GET variables in CodeIgniter.

один вопиющий пример, когда вы используете API, который отправляет пост-обратно на ваш сайт (Paypal, и т.д.)

Самый простой способ, на мой взгляд, чтобы разобрать переменную сервера с данными GET вам нужно, так как $ _GET стерта (в моем примере, REQUEST_URI есть мои данные GET.):

parse_str(substr(strrchr($_SERVER['REQUEST_URI'], "?"), 1), $_GET); 

Это позволяет функциональность именно там, где вам это нужно, не требуя глобальных изменений в рамочных условиях.

Вот пример использования.

class Pgate extends Controller { 
    function postback() { 
     parse_str(substr(strrchr($_SERVER['REQUEST_URI'], "?"), 1), $_GET); 
     $receipt = $this->input->xss_clean($_GET['receipt']); 
    } 
} 
0

Если вы действительно хотите использовать строку запроса в CodeIgniter вы можете использовать http://site.com?c=controller&m=method&param1=x&param2=y

Это не условность в CodeIgniter обычно люди используют косую черту, чтобы разграничить Params.

6

Вы всегда можете получить данные, как это:

$this->input->get('your_get_variable', TRUE); 

Надеется, что это работает!

Смежные вопросы