seanpearman Posted September 5, 2007 Share Posted September 5, 2007 Hi all, Im new to phpfreaks, and fairly new to php/mysql. Im having some very basic issues that I just cant work out. Ive managed to get php & mysql installed and working. Ive managed to get my php script interacting and querying the Mysql database. But i cant add my design to the back-end coding, help! I feel stupid! I used the login script i found online, and it has the raw basics, but no design elements whatsoever. Here is the code: <?php // Connects to your Database mysql_connect("localhost", "****", "*******") or die(mysql_error()); mysql_select_db("******") 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 } ?> Now all I want to do is add my header and navigation menu, ive tried using the "include" function, and putting it immediatley at the beginning of the file but produces an error: Warning: Cannot modify header information - headers already sent by (output started at D:\websites\default\htdocs\fmn\header.htm:1) in D:\websites\default\htdocs\fmn\login.php on line 22 HELP! Thanks, Sean Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/ Share on other sites More sharing options...
pocobueno1388 Posted September 5, 2007 Share Posted September 5, 2007 Functions such as header() and setcookie() must be used before ANY output to the browser. My assumption would be that the file your including at the top has browser output in it. Does it work fine without including that file? Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342130 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 Yep, works fine before I add my design. I'll try adding it the bottom. Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342133 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 Ok, my design is now working. But its in the wrong place. How can I have my "header" (logo etc) at the top of the page? Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342134 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 OK, cheers! I've cracked it! put in the "include" before the form.....cheers. Thanks for enlightening me:) Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342138 Share on other sites More sharing options...
pocobueno1388 Posted September 5, 2007 Share Posted September 5, 2007 No problem =] Don't forget to press "solved". Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342160 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 hi, got another issue now. my <head> tags that contain the link to my css file seem to be causing a similar error. where should I place the css link in the code....code above. cheers Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342165 Share on other sites More sharing options...
pocobueno1388 Posted September 5, 2007 Share Posted September 5, 2007 If there is absolutely no way to get around the header errors, you can get away with this. Place ob_start(); at the top of your script, then at the end place ob_end_flush(); That should take care of all those errors for you, and you should be able to place the head code anywhere. Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342171 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 Can you give me an example on where to place this? e.g. inside the <?php or outside? or does this go either side of my <head> tags? I guess it goes in the <?php cheers Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342223 Share on other sites More sharing options...
seanpearman Posted September 5, 2007 Author Share Posted September 5, 2007 got it working, placed the head data in my file to be "included". Thanks for your help. Quote Link to comment https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/#findComment-342265 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.