+ Reply to Thread
Results 1 to 2 of 2

Thread: PHP Login Script Error Warning: Cannot modify header information - headers already...

  1. #1
    cjdb0297 is offline x10Hosting Member cjdb0297 is an unknown quantity at this point
    Join Date
    Nov 2010
    Posts
    2

    SOLVED - PHP Login Script Error- SOLVED

    Hi guys,

    PHP Code:
    <?php
    ob_start
    ();
    $host="localhost"// Host name
    $sqlusername="theSQLLoginName"// Mysql username
    $sqlpassword="theSQLLoginPassword"// Mysql password
    $db_name="theLoginDatabase"// Database name
    $tbl_name="theLoginTable"// Table name

    // Connect to server and select databse.
    mysql_connect("$host""$sqlusername""$sqlpassword")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");


     
    //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: login_success.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: login_success.php"); 

     } 

     } 

     } 

     else 

    {     

     

     
    // if they are not logged in 

     
    ?><form action="<?php $_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 

     


     
    ob_flush();
     
    ?>
    OK, so the query goes through, but I get the following three errors:

    Warning: Cannot modify header information - headers already sent by (output started at /home/domain/public_html/checklogin.php:1) in /home/domain/public_html/checklogin.php on line 121

    Warning: Cannot modify header information - headers already sent by (output started at /home/domain/public_html/checklogin.php:1) in /home/domain/public_html/checklogin.php on line 123

    Warning: Cannot modify header information - headers already sent by (output started at /home/domain/public_html/checklogin.php:1) in /home/domain/public_html/checklogin.php on line 129

    Problem solved. After more playing around with my code, I solved the problem. Thanks again guys =]
    Last edited by cjdb0297; 11-20-2010 at 06:42 PM. Reason: Problem Solved

  2. #2
    descalzo's Avatar
    descalzo is offline Grim Squeaker descalzo has a brilliant futuredescalzo has a brilliant futuredescalzo has a brilliant future
    Join Date
    Jul 2009
    Location
    Ankh-Morpork
    Posts
    7,636

    Re: PHP Login Script Error Warning: Cannot modify header information - headers alread

    Read what the error messages say.
    Three times it says "Cannot modify header information - headers already sent by" .
    Look at the line numbers (put in a text editor with line numbering if you have to). Those three lines are where you are setting cookies or a header.
    It is telling you you cannot do that since you already sent headers (again, read the message) on line 1 of the same script.

    In a PHP script, as soon as you send anything, even a blank line, the systems sends the HTTP headers. So the error messages are telling you that you have already sent some text out. Even if it is a blank line. Even if it is a single space.
    Nothing is always absolutely so.

+ Reply to Thread

Similar Threads

  1. Cannot modify header information
    By stanleyek53 in forum Free Hosting
    Replies: 3
    Last Post: 11-13-2010, 11:44 AM
  2. php Warning: Cannot modify header information
    By krahny in forum Programming Help
    Replies: 3
    Last Post: 12-28-2009, 02:37 AM
  3. Modify Post Headers
    By Twinkie in forum Programming Help
    Replies: 8
    Last Post: 06-25-2009, 09:24 PM
  4. Replies: 4
    Last Post: 08-11-2008, 03:12 PM
  5. Replies: 2
    Last Post: 11-20-2007, 10:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
x10hosting free hosting for the masses
dedicated servers