Issue resolved... For some reason if the $request_uri was empty, the redirect failed 
because it was going to itself.  I enclosed the redirect around an if statement 
checking the request_uri variable.  BTW, $request_uri is a hidden form variable that 
captures the actual $REQUEST_URI global variable when the login form appears.  This 
allows me to redirect the user to the requested page when they log in.   Works like a 
charm!!!

Sometimes in explaining the problem, I see the solution.  
  ----- Original Message ----- 
  From: Dennis Moore 
  To: [EMAIL PROTECTED] 
  Sent: Monday, May 13, 2002 5:29 PM
  Subject: [PHP] Session Login and Redirect Problem


  I am using Sessions with mod PHP4.0.6 with trans-sid set on.  Everything works fine. 
 However, after loggin in, I want to automatically redirect the user to a specific 
page if they came from an external site or were given a link via emal.   I realize 
that a session variable is not actually stored until the end of the script.  So I used 
the session_write_close() function to save the session before redirecting using the 
header() function.  It does not work. The session variable fail to be available after 
redirection.

  Any ideas?

  ================================================================
  <?php

  if (!session_is_registered("valid_user") && $session_login=="proc"){
       if ($userid && $password) {
              // if the user has just tried to log in
     
             $query = "select * from auth_users "
             ."where auth_username='$userid' "
             ." and auth_password='$password' and active='Y'";
     
                  $result = mysql_query($query) or die("MySQL Login Error: ". 
mysql_error() );
                  if (mysql_num_rows($result) >0 ) {
                     // if they are in the database register the user id
                     $valid_user = $userid;
                     $valid_group=mysql_result($result,0,"auth_group");
                     $valid_perms=mysql_result($result,0,"auth_perms");
                     $valid_auth_id=mysql_result($result,0,"auth_id");
                     session_register("valid_user");
                     session_register("valid_group");
                     session_register("valid_perms");
                     session_register("valid_auth_id");
     

                      /* Redirect browser */
                      session_write_close();
                      header("Location: http://".$SERVER_NAME.$request_uri); 
                      exit; // exit script

     
                 } else {
                     $invalid_login= "Invalid login:  Could not log you in...
                     <!--ERROR: $dbname <P> $query-->";
                 }
      }
  }

  ?>


------------------------------------------------------------------------------


  -- 
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to