Problems with PHP and sessions

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I have a login page, that have this code:

It is called from a page with a form and 3 inputs, email, password and


   mysql_connect("localhost", "user", "psw");

   $email     = $_POST["email"];
   $psw       = $_POST["psw"];
   $autologin = $_POST["autologin"];

   if($autologin == "on")
     session_set_cookie_params(60*60*24*365, "/");
     session_set_cookie_params(0, "/");

   $_SESSION["email"] = $email;
   $_SESSION["psw"] = $psw;


   mysql_query("UPDATE blaa....") or die(mysql_error());

   header("Location: /?page=user_login");


My index.php looks like this:


     $email = $_SESSION["email"];
     $psw   = $_SESSION["psw"];

.... blaa... ?>

My problem is, that if set the "autologin = on" (that means the cookie
must have a 365 days expire), my cookie is set perfectly on the login
page but as soon as it is redirected to the index page, it overwrite the
cookie with an expire whenever the browser closes!?

I have seen on the PHP manual page, that there can be a lot of problems
if you use a "header", but how do I fix this problem (if possible)? I

Re: Problems with PHP and sessions

SEssion cookes only exist for the duration of the session, and are normally
deleted by the browser when u close the window.

Your server will also delete the session info from ur server after 20
minutes (or whatever the default is set to).

For auto login, save the username and password in a cookie that is saved in
the users computer, and then check for the cookie existance.

(I probably wouldnt store the password, store some random key).

- Alistair

Quoted text here. Click to load it

Re: Problems with PHP and sessions

Quoted text here. Click to load it
I have found my problem - I should not have a session_start() in the
index.php also as this overwrites the existing one. That took me some
time to understand! I thought I should have session_start on all pages.

Re: Problems with PHP and sessions

PHP wrote:
Quoted text here. Click to load it

AFAIK, you do! Session_start() loads the session variables in for the
current session.

Nicholas Sherlock

Site Timeline