It recently happened to me too... however, I use the session_id() to keep
track of the same session... I also use a table to check on who's who..

Anyway, it was working fine and all of a sudden the client complained that
no one can log in...  I echoed the session id of the pages and saw that
different session ids were being given by SESSION_ID() when the user goes
from one page to another...

Basically, the system thought that each page visited is another session...
when I can the session table, i saw that the user was autheticated ok... and
that the session was log during login.

When he was transfered to the welcome page, the check_session routine,
checked the session_id agaisnt the log and since it gave him a new session
id, the system thought he wasn't logged in and proceeded to ask him to log

Anyway, in both our cases, the session wasn't being kept -- making each page
visit seem a new session...

SOLUTION -- at least for us:

It turns out that their sysad upgraded to the latest PHP and with it came a
new config:


This is a new config and it was ON and it wasn;t present in the previous PHP
version.  I just asked them to turn it of and test it and it worked again.
session ids were the same and therefore...

Hope this helps..

"John Fuller" <[EMAIL PROTECTED]> wrote in message
> Hello all,
>     I am new to php in general and am trying to set up a user
authentification system with mysql.  The registration page works well and
sends all of the data to the appropriate table in mysql.  However, when I
try to get the registered user to log in and start a session, the system
will not remember the session information past the page.  For instance, this
page will not work (the one that initially is supposed to register the
session from the login form):
> <?
> session_start();
> $username="chris";
> $database="login";
> $login = $_POST['login'];
> $password = $_POST['password'];
> if((!$login) || (!$password)){
>  echo "Please enter ALL of the information! <br />";
>  include 'login.php';
>  exit();
> }
> mysql_connect(localhost,$username);
> @mysql_select_db($database) or die( "Unable to select database");
> $sql=mysql_query("SELECT * FROM login WHERE login='$login' AND
> $login_check = mysql_num_rows($sql);
> if($login_check > 0){
>   // This is where I register the session
>   session_register('login');
>   $_SESSION['login'] = $login;
>   mysql_close();
> include 'success.php';
> } else {
>  echo "You could not be logged in! Either the username and password do not
match or you have not validated your membership!<br />
>  Please try again!<br />";
>  include 'login.php';
> }
> ?>
> It proceeds to login the user for that page (I know this happens because I
have played around with it looking at the error checks), but it will not
display any variable that resembles "$_SESSION['login']".
> The next page sequentially (success.php) looks like this:
> <?
> session_start();
> echo 'Successful login for "$_SESSION['login']"';
> ?>
> Any and all variations of this page come up blank and white whenever the
variable $_SESSION['login'] is called to display. It shows no memory of me
registering a session.  Any variation of quotes verse apostrophes changes
nothing, so I figure that either I am blatantly screwing up the session code
(possible for I have never written any sessions before) or my system is not
supporting sessions.  I have a php4 something, windows, apache 1.3.27 for my
home network server, and mysql.  Any help on this problem would be greatly
> Thanks a lot for your time, John
> ---------------------------------
> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to