This is a discussion on i am going nuts = new session id just will not work within the PHP Language forums, part of the PHP Programming Forums category; Hi I have the following file: --myfile.php <?php if($s) { echo $s; session_id($s); session_start; echo 'your account ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi
I have the following file: --myfile.php <?php if($s) { echo $s; session_id($s); session_start; echo 'your account has been loaded, <a href="index.php?PHPSESSID='.session_id().'">contin ue</a>.'; } ?> I run it like this: myfile.php?s=abc It does not matter how many times I load it, whenever I load my test file: ---test.php <?php session_start(); echo session_id() ?> The same old session ID comes back (definitely not abc or any other parameter that I pass using s). Having said that, in the link to index.php, it provides the new session ID, but as soon as I reload the page, we are back to normal. The ONLY way to delete this old session ID is to delete the cookie from my computer. What am I doing wrong. It is driving me nuts! TIA - Nicolaas |
|
|||
|
Message-ID: <hV6wf.13488$vH5.695085@news.xtra.co.nz> from windandwaves
contained the following: >The same old session ID comes back (definitely not abc or any other >parameter that I pass using s). Having said that, in the link to index.php, >it provides the new session ID, but as soon as I reload the page, we are >back to normal. What are you trying to do? The session id will stay the same as long as the browser is open (within the garbage collection time) The session id serves as a reference to session variables which are stored on the server. Therefore it is vitally important that it does stay the same. As you've found out the session id is stored in a cookie. You only have to pass it by URL if you expect cookies to be turned off. Since the cookie is only a memory cookie, most of the time you will be ok. If in doubt you have to pass the session id or have it automatically enabled on the server. The session id is available as a constant SID If you want to store 'abc' by doing myfile.php?s=abc <?php session_start(); if(isset($_GET['s'])) { echo $_GET['s']."<br>"; $_SESSION['s']=$_GET['s']; echo "your account has been loaded, <a href='index.php?".strip_tags(SID)."'>continue</a>."; } ?> You will find that the session id will not show unless cookies are disabled index.php must have session_start() as the first line $_SESSION['s'] will contain your variable 'abc' -- Geoff Berrow 0110001001101100010000000110 001101101011011001000110111101100111001011 100110001101101111001011100111010101101011 |