Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

PHP Forum


You are currently viewing our PHP Forum as a guest. Please register to participate.
Login



Freelance Jobs

Reply
Old 04-16-2008, 10:06 AM Member Script help.
Gilligan's Avatar
Website Designer

Posts: 1,670
Name: Stefan
Location: London, UK
Trades: 0
Warning: Cannot modify header information - headers already sent by.....

Yet this was working before I added my template to it.

PHP Code:
<?php include ('/home/a5839198/public_html/inc/config.php'); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>SGilligan :: Home</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">

</head>

<body><div id="main">

<div class="logo">
</div>

<?php echo $iNav ?>     

<div class="content">
<div class="box3">
  <div class="title style1" style="margin-bottom:30px">Client Area - Login</div>
  <div class="iBox"><?php
// Connects to your Database

// DATABASE INFO HERE! - Not displayed for security

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

//if there is, it logs you in and directes you to the members page
{
$username $_COOKIE['loginsystem0029388172'];
$pass $_COOKIE['systemlogin123ss343d8'];
$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="register.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(loginsystem0029388172$_POST['username'], $hour);
setcookie(systemlogin123ss343d8$_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>Username:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="50">
</td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Login"></td>
</tr>
</table>
</form>
<?php
}

?>
</div>


  
  </div></div>

</div>
<?php echo $footer ?></body>
</html>
mainly this line

PHP Code:
header("Location: members.php"); 
its an else statement, so if the user logged in successfully they SHOULD get redirected to members.php. But I get the headers warning.
__________________

Please login or register to view this content. Registration is FREE
Gilligan is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 04-16-2008, 11:31 AM Re: Member Script help.
Super Spam Talker

Latest Blog Post:
PSD Squirrel Launched
Posts: 933
Trades: 7
Hi Gilligan,

PHP is moaning at you because you cannot redirect using the header() function if anything is outputted to the screen before its called. In your case, HTML.

The second the HTML is printed to screen a content header is automatically set, and then you are trying to set it again using the header() function you see.

You could use a meta redirect or move your PHP up so it runs before your HTML output.

Cheers,
__________________

Please login or register to view this content. Registration is FREE
|
Please login or register to view this content. Registration is FREE
Sir P is offline
Reply With Quote
View Public Profile Visit Sir P's homepage!
 
Old 04-16-2008, 11:47 AM Re: Member Script help.
Gilligan's Avatar
Website Designer

Posts: 1,670
Name: Stefan
Location: London, UK
Trades: 0
Meta refresh makes the page redirect, but right before it does I get this......


Warning: Cannot modify header information - headers already sent by (output started at /PATH/login.php:18) in /PATH/login.php on line 87


Warning: Cannot modify header information - headers already sent by (output started at /PATH/login.php:18) in /PATH/login.php on line 88

line 87 and 88 are:
PHP Code:
setcookie(loginsystem0029388172$_POST['username'], $hour);
setcookie(systemlogin123ss343d8$_POST['pass'], $hour); 
__________________

Please login or register to view this content. Registration is FREE
Gilligan is offline
Reply With Quote
View Public Profile
 
Old 04-16-2008, 11:50 AM Re: Member Script help.
Super Spam Talker

Latest Blog Post:
PSD Squirrel Launched
Posts: 933
Trades: 7
The same rule applies to setcookie(), cookie() and session functions.. you cant put HTML or any other output before you call them I'm afraid....move those two lines to the top of the HTML to avoid the error.
__________________

Please login or register to view this content. Registration is FREE
|
Please login or register to view this content. Registration is FREE
Sir P is offline
Reply With Quote
View Public Profile Visit Sir P's homepage!
 
Old 04-16-2008, 12:14 PM Re: Member Script help.
Skilled Talker

Posts: 71
Trades: 0
Just put ob_start(); at the very beginning of your script and ob_end_flush(); to the very end. This will parse PHP before HTML so you won't get those errors.
CrazeDizzleD is offline
Reply With Quote
View Public Profile
 
Old 04-16-2008, 12:26 PM Re: Member Script help.
Gilligan's Avatar
Website Designer

Posts: 1,670
Name: Stefan
Location: London, UK
Trades: 0
Thanks, that done it
__________________

Please login or register to view this content. Registration is FREE
Gilligan is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to Member Script help.
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.86442 seconds with 12 queries