Từ bài: CodeIgniter PHP Framework - Need to get query string
Dưới đây là một ví dụ làm việc đầy đủ về cách để cho phép querystrings trong Codeignitor, giống như trên nền tảng JROX. Đơn giản chỉ cần thêm video này vào tập tin config.php của bạn nằm tại địa chỉ:
/system/application/config/config.php
Và sau đó bạn chỉ có thể nhận được querystrings như bình thường sử dụng $ _GET hoặc lớp dưới
$yo = $this->input->get('some_querystring', TRUE);
$yo = $_GET['some_querystring'];
Dưới đây là đoạn code để làm cho nó tất cả công việc:
/*
|--------------------------------------------------------------------------
| Enable Full Query Strings (allow querstrings) USE ALL CODES BELOW
|--------------------------------------------------------------------------*/
/*
|----------------------------------------------------------------------
| URI PROTOCOL
|----------------------------------------------------------------------
|
| This item determines which server global should
| be used to retrieve the URI string. The default
| setting of 'AUTO' works for most servers.
| If your links do not seem to work, try one of
| the other delicious flavors:
|
| 'AUTO' Default - auto detects
| 'PATH_INFO' Uses the PATH_INFO
| 'QUERY_STRING' Uses the QUERY_STRING
| 'REQUEST_URI' Uses the REQUEST_URI
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
|
*/
if (empty($_SERVER['PATH_INFO'])) {
$pathInfo = $_SERVER['REQUEST_URI'];
$index = strpos($pathInfo, '?');
if ($index !== false) {
$pathInfo = substr($pathInfo, 0, $index);
}
$_SERVER['PATH_INFO'] = $pathInfo;
}
$config['uri_protocol'] = 'PATH_INFO'; // allow all characters
$config['permitted_uri_chars'] = ''; // allow all characters
$config['enable_query_strings'] = TRUE; // allow all characters
parse_str(substr(strrchr($_SERVER['REQUEST_URI'], "?"), 1), $_GET);
Thưởng thức :-)
Nguồn
2012-11-27 00:25:52
tại sao bạn muốn sử dụng $ _GET biến, khi bạn có thể sử dụng các URL viết lại để Achi eve cùng một mục đích trong CodeIgniter? – GSto
tốt, lý do duy nhất tôi tự chấp nhận là hỗ trợ các URL cũ. tôi có một khách hàng rất muốn chuyển sang các URL thân thiện, khả năng tồn tại để làm lại trang web "mã spaghetti" của họ bằng cách sử dụng khung, nhưng người viết mã sẽ không cho phép trang web mới của họ hỗ trợ hàng chục nghìn (!) các liên kết đến các bài viết khác nhau, bạn hiểu tại sao điều này là không thể chấp nhận được :) –
Giải pháp mới là sử dụng [ReacI Reactor Reactor] (https://bitbucket.org/ellislab/codeigniter-reactor), hỗ trợ GET đúng cách. –