1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Cannot modify header information - headers already sent by

Discussion in 'PHP' started by abosirage, Nov 21, 2010.

  1. abosirage

    abosirage New Member

    Joined:
    Jul 29, 2010
    Messages:
    34
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    IT
    Location:
    Tripoli-Libya
    hi every body
    I have problem in my login page my php code :

    Code:
    <?php 
     // Connects to your Database 
    include ('config.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
    {
    header("Location: data/viewdb.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('عفواً انت لم تقم بتعيئة البيانات المطلوبة للدخول');
    }
    // checks it against the database
    if (!get_magic_quotes_gpc()) {
             $_POST['username'] = addslashes($_POST['username']);
         }
         $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('عفواً انت غير مسجل معنا <a href=add.php>ادخل هنا للتسجيل</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('خطأ في كلمة المرور, حاول مرة اخرى');
         }
     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 : data/viewdb.php"); 
     } 
     } 
     } 
     else 
     {     
     
     // if they are not logged in 
    ?> 
     <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 
     <table border="0"> 
     <tr><td colspan=2><h1>Login</h1></td></tr> 
     <tr><td>Username:</td><td> 
     <input type="text" name="username" maxlength="40"> 
     </td></tr> 
     <tr><td>Password:</td><td> 
     <input type="password" name="pass" maxlength="50"> 
     </td></tr> 
     <tr><td colspan="2" align="right"> 
     <input type="submit" name="submit" value="Login"> 
     </td></tr> 
     </table> 
     </form> 
     <?php 
     } 
      ?>
    
    when user insert username & password should reach viewdb.php page but in followin error appear :
    Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 57

    Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 58

    Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 61

    help me to solve it with my best regards
     
    Last edited by a moderator: Nov 22, 2010
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,285
    Likes Received:
    364
    Trophy Points:
    83
    Isnt the warning self explanatory.
     
  3. dannerr

    dannerr New Member

    Joined:
    Nov 29, 2010
    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    none
    Location:
    none
    You are echoing or displaying some HTML somewhere before you send your header()s. If you eve have a space or blank link before <?php this will cause it to send headers as HTML.
     

Share This Page