I’m doing some exercises on using sessions in php. I set it up this way:
$_SESSION['log_users'][] = array(array('Username'=>$username))
I tried to experiment on it. And found out that the session that is being generated is different when I use a different ip for accessing it. While using the same browser, which is firefox.
Here is what I did:
- Setup my router so that others will be able to access the exercise that I’m working on through the use of my external ip address.
-
I then opened the localhost version of the exercise:
-
Then the one using the external ip address:
-
I then filled up the session array on each browser tab. And found out that each of those two keeps a different version of the session. Found out by using
print_r($_SESSION['log_users'])
Is this really the way it should behave? Is there anything I can do so that there’s only one version of the session? I’m currently using Wampserver 2.1
The session is stored on server side and a session cookie is created on client side to identify the current session of browser which holds current session id.
The session cookie is stored based on the domain you are using to access the site.
Since you are using different domain one is
localhostand another isipwhich will create two different sessions.When you visit pages through
localhostdomain. It will create session and store session cookie on the domainlocalhost. If you visit another page on same domain system will check if the session cookie exists it resume the old session and does not create new one.While the same time if you access through
ipthe session cookie is not stored for thisipyet then system assume that there is no active session for this user and will start a new session and session cookie is stored for based on thisip.This is the way how session works.
Hope this helps.