Как я могу прочитать QueryString в CodeIgniter?
Я знаю, что об этом спрашивали раньше, но мне это нужно для отслеживания аффилиатов...
http://www.mysite.com/controller/method/params?affiliate=123&sub_id=456
Как я могу получить параметры И параметры $_GET, обозначенные в этом URL?
3 ответа
И все же, иногда вам нужен доступ к переменным GET в 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']);
}
}
Вы всегда можете получить такие данные:
$this->input->get('your_get_variable', TRUE);
Надеюсь, это работает!
Если вы действительно хотите использовать строку запроса в codeigniter, вы можете использовать http://site.com?c=controller&m=method¶m1=x¶m2=y
Это не соглашение в codeigniter, обычно люди используют косую черту для разделения параметров.