Search code examples
codeigniterquery-stringaffiliates

How can I read a QueryString in CodeIgniter?


I know it's been asked before, but I need it for affiliate tracking...

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

How can I get the params AND the $_GET parameters outlined in that URL?


Solution

  • And yet, sometimes you need access to GET variables in CodeIgniter.

    One glaring example is when you use an API that sends a post-back to your site (Paypal, etc.)

    The easiest way, in my opinion, is to parse a server variable with the GET data you need since $_GET has been wiped (in my example, REQUEST_URI has my GET data.):

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

    This allows the functionality exactly where you need it without requiring a global change to framework settings.

    Here is a usage example.

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