Jump to content

[SOLVED] About.com's PHP Login Script Help


crochk

Recommended Posts

I am trying to use About.com's login (http://php.about.com/od/finishedphp1/ss/php_login_code.htm) script on one of my sites.

I have the registration page working, but when I try to log in and set the cookies, I get this error:

Warning: Cannot modify header information - headers already sent by (output started at /www/110mb.com/c/h/a/t/n/o/t/e/chatnotes/htdocs/login/login2.php:3) in /www/110mb.com/c/h/a/t/n/o/t/e/chatnotes/htdocs/login/login2.php on line 76

 

Warning: Cannot modify header information - headers already sent by (output started at /www/110mb.com/c/h/a/t/n/o/t/e/chatnotes/htdocs/login/login2.php:3) in /www/110mb.com/c/h/a/t/n/o/t/e/chatnotes/htdocs/login/login2.php on line 77

You are now logged in.

 

The code for the page is this:

    <head>
<?php

    // Connects to your Database
mysql_connect("localhost","username","password") or die(mysql_error()); 
mysql_select_db("databse") or die(mysql_error()); 

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

    //if there is, it logs you in and directes you to the members page
    {
    $username = $_COOKIE['site_id'];
    $pass = $_COOKIE['site_key'];
    $check = mysql_query("SELECT * FROM login WHERE username = '$username'")or die(mysql_error());
    while($info = mysql_fetch_array( $check ))
    {
    if ($pass != $info['password'])
    {
    }
    else
    {
    header("Location: adminarea.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['username'] = addslashes($_POST['username']);
    }
    $check = mysql_query("SELECT * FROM login 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=registration.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;
  $username = $_POST['username'];
  $password = $_POST['pass'];
  
  
  setcookie("site_id", $username, $hour);
	setcookie("site_key", $password, $hour);
  

    //then redirect them to the members area
    die('You are now logged in.'); 
    }
}
   }
   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
    }

    ?> 

 

PLEASE HELP!!!

Link to comment
https://forums.phpfreaks.com/topic/120865-solved-aboutcoms-php-login-script-help/
Share on other sites

This is the new code, and still errors:

	<?php

    // Connects to your Database
mysql_connect("localhost","username","password") or die(mysql_error()); 
mysql_select_db("databse") or die(mysql_error()); 

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

    //if there is, it logs you in and directes you to the members page
    {
    $username = $_COOKIE['site_id'];
    $pass = $_COOKIE['site_key'];
    $check = mysql_query("SELECT * FROM login WHERE username = '$username'")or die(mysql_error());
    while($info = mysql_fetch_array( $check ))
    {
    if ($pass != $info['password'])
    {
    }
    else
    {
    header("Location: adminarea.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['username'] = addslashes($_POST['username']);
    }
    $check = mysql_query("SELECT * FROM login 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=registration.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;
  $username = $_POST['username'];
  $password = $_POST['pass'];
  
  
  setcookie("site_id", $username, $hour);
	setcookie("site_key", $password, $hour);
  

    //then redirect them to the members area
    die('You are now logged in.'); 
    }
}
   }
   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
    }

    ?> 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.