Jump to content


Photo

cannot modify header information when logging in?


  • Please log in to reply
7 replies to this topic

#1 CircularStopSign

CircularStopSign
  • Members
  • PipPipPip
  • Advanced Member
  • 44 posts

Posted 23 August 2006 - 10:02 PM

I am getting this error:
Warning: Cannot modify header information - headers already sent by (output started at db.php:14) in checkuser.php on line 39

line 39 = mysql_query("UPDATE users...
if($login_check > 0){
    while($row = mysql_fetch_array($sql)){
    foreach( $row AS $key => $val ){
        $$key = stripslashes( $val );
    }
        // Register some session variables!
        session_register('first_name');
        $_SESSION['first_name'] = $first_name;
        session_register('last_name');
        $_SESSION['last_name'] = $last_name;
        session_register('email_address');
        $_SESSION['email_address'] = $email_address;
        session_register('special_user');
        $_SESSION['user_level'] = $user_level;
        
        mysql_query("UPDATE users SET last_login=now() WHERE userid='$userid'");
        header("Location: login_success.php");
    }
i cant figure out what is wrong..

#2 hitman6003

hitman6003
  • Members
  • PipPipPip
  • Advanced Member
  • 1,807 posts

Posted 23 August 2006 - 10:06 PM

It's saying that the file db.php has output something to the browser.  Make sure that it's not...meaning no echos, prints, etc.  Also, having
<?php
some code here....
?>
<?php
...some more code
?>

will output a newline to the browser, which will throw off the header.

#3 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 23 August 2006 - 10:08 PM

The output has started around or on line 14 in in db.php. Whats in db.php.

#4 CircularStopSign

CircularStopSign
  • Members
  • PipPipPip
  • Advanced Member
  • 44 posts

Posted 23 August 2006 - 10:09 PM

<?

$dbhost = '***';
$dbusername = '***';
$dbpasswd = '***';
$database_name = '***';


$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
    or die ("Couldn't connect to server.");
$db = mysql_select_db("$database_name", $connection)
    or die("Couldn't select database.");
?>

#5 hitman6003

hitman6003
  • Members
  • PipPipPip
  • Advanced Member
  • 1,807 posts

Posted 23 August 2006 - 10:10 PM

are there any newlines or space after the ?> ?

#6 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 23 August 2006 - 10:12 PM

Do you have any spaces or newlines after the closing php tags (?>) or any space before the opeing php tag (<?php).

The code you posted earlier is fine, however this error is being caused by some stray output somewhere.

#7 CircularStopSign

CircularStopSign
  • Members
  • PipPipPip
  • Advanced Member
  • 44 posts

Posted 23 August 2006 - 10:16 PM

yes, thank you... there was a space after the closing tag. could you tell me why this happens... for future reference?

thanks

#8 hitman6003

hitman6003
  • Members
  • PipPipPip
  • Advanced Member
  • 1,807 posts

Posted 23 August 2006 - 10:21 PM

If any data has been sent to the browser...spaces, new lines, whatever...then a header can not be sent...they must be the first thing the browser receives.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users