Welcome to WebmasterWorld Guest from 35.175.191.168

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Cannot modify header information ERROR!

     
6:02 pm on Jun 27, 2008 (gmt 0)

Junior Member

10+ Year Member

joined:May 7, 2008
posts:45
votes: 0


I have a very simple login cookie setup on my website and I keep getting this error:
Warning: Cannot modify header information - headers already sent by (output started at /home/muzicwar/public_html/mainpage.php:32) in /home/muzicwar/public_html/mainpage.php on line 387

Here is my script:

<?php 
// Connects to your Database
include 'input.php';

//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site']))

//if there is, it logs you in and directes you to the members page
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{
}
else
{
$query = "SELECT avatar FROM users WHERE username = '$username'";
$result = mysql_query($query) or die("Couldn't execute query.");
while ($data = mysql_fetch_array($result)){
$avatar = $data['avatar'];
?>Welcome <img height="80" width="80" src=" <?php echo "$avatar"; ?> "></img><?php
}
}
}
}
else
{
?>
<?php
//if the login form is submitted
if (isset($_POST['submit'])) { // if form has been submitted

// makes sure they filled it in
if(!$_POST['username'] ¦ !$_POST['pass']) {
die('You did not fill in a required field.');
}
// checks it against the database

if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());

//Gives error if user dosen't exist
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);

//gives error if the password is wrong
if ($_POST['pass'] != $info['password']) {
die('Incorrect password, please try again.');
}
else
{
// if login is ok then we add a cookie
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);

//then redirect them to the members area
header("Location: members.php");
}
}
}
else
{

// if they are not logged in
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"><input type="text" name="username" style="font-size:15px" size="15"></div><img src="images/space2.jpg"><img src="images/space3.jpg"><div border="1"><input type="password" name="pass" style="font-size:15px" size="15"></div></div>
  <img src="images/space2.jpg"><input type="submit" value="Login" name="submit"></form></div><div class="style2"><br><img src="images/space2.jpg"><a href="register.php">Register</a><br />
    <br /><img src="images/space2.jpg"><a href="recovery.php">Lost your password?</a></div></td>
<?php
}
}
?>

6:25 pm on June 27, 2008 (gmt 0)

Full Member from US 

10+ Year Member

joined:Mar 22, 2008
posts: 319
votes: 0


header("Location: members.php");

That needs to come before any of the content.

The error you are getting tells you that the headers have already been sent - you are trying to send headers after the document itself.