1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

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,276
    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