Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

login

align login

  • Please log in to reply
7 replies to this topic

#1 kirigwajoe

kirigwajoe

    CC Lurker

  • Just Joined
  • Pip
  • 9 posts

Posted 28 January 2011 - 10:34 PM

I have two files one to register and the other to login.

I have a database "child" with table "members" which has column names "mid", "username", "password"

the files are registermember.php which works and adds a new member with username and password to the database.

The problem is with loginmember.php which displays this error warning.

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\CHILD\loginmember.php:11) in C:\wamp\www\CHILD\loginmember.php on line 132

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\CHILD\loginmember.php:11) in C:\wamp\www\CHILD\loginmember.php on line 134

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\CHILD\loginmember.php:11) in C:\wamp\www\CHILD\loginmember.php on line 140


The line 132 and 134 have this code and i do not understand what ID_my_site
and Key_my_site mean because i am working on a laptop and not connected to the web.

 setcookie(ID_my_site, $_POST['username'], $hour); 


setcookie(Key_my_site, $_POST['pass'], $hour);	 


The line 140 has this code:
header("Location: members.php"); 


yet i do not know what members.php looks like!

The loginmember.php code:

<?php 

// Connects to your Database

$server = 'localhost';
$dbuser="root";
$dbpasswd="";
// Make a MySQL Connection
mysql_connect($server , $dbuser , $dbpasswd) or die(mysql_error());
mysql_select_db("child") or die(mysql_error());


//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 members WHERE username = '$username'")or die(mysql_error());

while($info = mysql_fetch_array( $check ))

{

if ($pass != $info['password'])

{

}

else

{

header("Location: members.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 members 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=registermember.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">

<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

}



?>

  • 0

#2 Alexander

Alexander

    YOL9

  • Moderator
  • 3963 posts
  • Location:Vancouver, Eh! Cleverness: 200
  • Programming Language:C, C++, PHP, Assembly

Posted 28 January 2011 - 10:51 PM

As you are relying on definitions outside of the page, I assume this page is being included by another. The parent page(s) cannot print or echo anything to the screen before those HTTP headers are sent (setcookie()/header()), you must prevent any output including a byte order mark if the page is encoded in UTF8.
  • 0

All new problems require investigation, and so if errors are problems, try to learn as much as you can and report back.


#3 kirigwajoe

kirigwajoe

    CC Lurker

  • Just Joined
  • Pip
  • 9 posts

Posted 28 January 2011 - 11:00 PM

I do not get exactly wht you mean so please help me by showing me from my code. Hope i am not going to far.
  • 0

#4 Alexander

Alexander

    YOL9

  • Moderator
  • 3963 posts
  • Location:Vancouver, Eh! Cleverness: 200
  • Programming Language:C, C++, PHP, Assembly

Posted 28 January 2011 - 11:02 PM

You tell me that you do not know what ID_my_site is, is this because another page is including loginmember.php?

  • 0

All new problems require investigation, and so if errors are problems, try to learn as much as you can and report back.


#5 kirigwajoe

kirigwajoe

    CC Lurker

  • Just Joined
  • Pip
  • 9 posts

Posted 28 January 2011 - 11:32 PM

I am not including loginmember on any other page. hope i i get what u mean.

So what is the possible way forward Alexander?
  • 0

#6 kirigwajoe

kirigwajoe

    CC Lurker

  • Just Joined
  • Pip
  • 9 posts

Posted 28 January 2011 - 11:33 PM

May be you provide me with a simpler log in page.

if you do not mind.
  • 0

#7 Smilex

Smilex

    CC Resident

  • Advanced Member
  • PipPipPipPip
  • 76 posts
  • Location:Faroe Islands
  • Programming Language:C, C++, PHP, Python, JavaScript, Lua, Others
  • Learning:Objective-C, PHP, Python, Assembly, Bash

Posted 29 January 2011 - 01:14 PM

Just remember that both of these functions need to be called before your <html> tag, I believe if that is not done, you get the same error that you are getting.

PHP: header - Manual
PHP: setcookie - Manual
  • 0

#8 gon1387

gon1387

    CC Regular

  • Member
  • PipPipPip
  • 30 posts
  • Programming Language:C, C++, PHP, JavaScript, Others
  • Learning:C, Java, C++, PHP, Python, JavaScript, Others

Posted 30 January 2011 - 03:43 PM

I got this in the PHP tutorial section, this was created by amrosama. AUTHENTICATION TUTORIAL
Hope this helps. :)
  • 0





Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download