Jump to content

Recommended Posts

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

Link to comment
https://forums.phpfreaks.com/topic/68062-solved-login-script-design-issue/
Share on other sites

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?

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.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.