CI : ใช้ Query String กับ CodeIgniter by plug.in
May0
Refer : http://www.askaboutphp.com/tutorials/58/codeigniter-mixing-segment-based-url-with-querystrings.html
Codeigniter ตามปกติจะไม่สามารถใช้งาน URL โดยมีตัวแปน GET (Query String) ได้
example.com/product/search/?pname=test&pid=2
หากต้องการให้ใช้งานได้มีสองวิธี
1. Global
ตั้งค่าใน Config.php ตามนี้
$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;
2. Local
แบบ global จะมีปัญหาเล็กน้อยเรื่องตัวแปรชื่อ c , m , d ซึ่งเป็น default สำหรับเรียก controller เมื่อ $config['enable_query_strings'] = TRUE;
แบบ local จะตั้งค่าใน Config.php ตามนี้
$config['enable_query_strings'] = FALSE;
$config['uri_protocol'] = "PATH_INFO";
และใน Controller Initialize ให้แทรกบรรทัดนี้
parse_str($_SERVER['QUERY_STRING'],$_GET);
PHP : Get Full URL path by plug.in
Mar0
Code สำหรับ Get URl ปัจจุบันในขณะนั้น
function full_url()
{
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = substr(strtolower($_SERVER["SERVER_PROTOCOL"]), 0, strpos(strtolower($_SERVER["SERVER_PROTOCOL"]), "/")) . $s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
}