loren646 Posted March 24, 2013 Share Posted March 24, 2013 (edited) "Warning: Cannot modify header information - headers already sent by" http://php.about.com/od/finishedphp1/ss/php_login_code_4.htm i'm just putting this code in. didn't modify it at all. line 51-57: 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 Warning: Cannot modify header information - headers already sent by on line 54Warning: Cannot modify header information - headers already sent by on line 54Warning: Cannot modify header information - headers already sent by on line 56 full code below: ----------------- <?php // Connects to your Databasemysql_connect("your.hostaddress.com", "username", "password") or die(mysql_error()); mysql_select_db("Database_Name") or die(mysql_error());//Checks if there is a login cookieif(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: members.php"); } } }//if the login form is submittedif (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: 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 } ?> Edited March 24, 2013 by loren646 Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/ Share on other sites More sharing options...
haku Posted March 24, 2013 Share Posted March 24, 2013 Please use code tags around your code. You can do this with the <> button in the editor. Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420768 Share on other sites More sharing options...
loren646 Posted March 24, 2013 Author Share Posted March 24, 2013 <?php // Connects to your Database mysql_connect("your.hostaddress.com", "username", "password") or die(mysql_error()); mysql_select_db("Database_Name") 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 users 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 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: 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 } ?> Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420776 Share on other sites More sharing options...
PaulRyan Posted March 24, 2013 Share Posted March 24, 2013 Turn of full error reporting: <?PHP error_reporting(E_ALL); ini_set("display_errors", 1); ?> Also, this line: if(!$_POST['username'] | !$_POST['pass']) { Should be: if(!$_POST['username'] || !$_POST['pass']) { Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420778 Share on other sites More sharing options...
loren646 Posted March 24, 2013 Author Share Posted March 24, 2013 (edited) <?php // Connects to your Database error_reporting(E_ALL); ini_set("display_errors", 1); mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error()); mysql_select_db("xxxx") 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 users 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 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=areg.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 } ?> added error checking. added "//" before the email part (not sure why that's in there.) These are now the current errors: Notice: Use of undefined constant ID_my_site - assumed 'ID_my_site' in login.php on line 60 Warning: Cannot modify header information - headers already sent by (output started at login.php:1) in login.php on line 60 Notice: Use of undefined constant Key_my_site - assumed 'Key_my_site' in login.php on line 61 Warning: Cannot modify header information - headers already sent by (output started at login.php:1) in login.php on line 61 Warning: Cannot modify header information - headers already sent by (output started at login.php:1) in login.php on line 65 Edited March 24, 2013 by loren646 Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420781 Share on other sites More sharing options...
PaulRyan Posted March 24, 2013 Share Posted March 24, 2013 Then there is your answer, look the errors up and you should be good to go. Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420783 Share on other sites More sharing options...
loren646 Posted March 24, 2013 Author Share Posted March 24, 2013 (edited) In case anyone else is having this problem. For future reference. I deleted all the white space. I guess the formatting caused problems. SOLVED. Edited March 24, 2013 by loren646 Quote Link to comment https://forums.phpfreaks.com/topic/276094-header/#findComment-1420786 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.