• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Session Storage of Google Search URL Fails

#1
[eluser]axiom82[/eluser]
Hello,

Big fan of CI, not a big fan of the session management system right now. I'm trying to store the $_SERVER['HTTP_REFERER'] in the session as user data (in a cookie) like so:


Code:
class Template extends Controller {
    
    function __construct(){

        parent::__construct();
        $this->set_referrer();
        
    }

    function set_referrer(){

        $referrer = $this->session->userdata('referrer');
        if ($referrer === false) $this->session->set_userdata('referrer',$_SERVER['HTTP_REFERER']);

    }

}

The set_referrer() function is called for all controller requests, only the first time it is called should the referrer be set. I have found that with some URL values for my session referrer value, strange behavior emerges with the session class where indeed the value is set multiple times and therefore it changes as different page controllers load.

Here is a Google URL that causes this behavior:
http://www.google.com/url?sa=t&source=we...&q=atlanta georgia personal injury lawyer&ei=Hx30TOPQFcT58AbenPyvDA&usg=AFQjCNESs_1daLcLa2c4HaoUcBMKboU8vA

In the end, I have resorted to this code:

Code:
class Template extends Controller {
    
    function __construct(){

        parent::__construct();
        $this->set_referrer();
        
    }

    function set_referrer(){

        session_start();
        if (!isset($_SESSION['referrer'])) $_SESSION['referrer'] = $_SERVER['HTTP_REFERER'];

    }

}

What gives?


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.