Jump to content

[SOLVED] ob_start();


Cory94bailly

Recommended Posts

Actually, ob_start() usually HELPS you set cookies.

 

Well it doesn't seem to help me :(

 

Login.php code:

 

<?php
//**********Start Member Login!**********\\
ob_start();
error_reporting(E_ALL);
// Connects to your Database
mysql_connect("***", "***", "***") or die(mysql_error());
mysql_select_db("***") or die(mysql_error());

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

//if there is, it logs you in and directes you to the members page
{
$username = $_COOKIE['ID_fcs_member'];
$pass = $_COOKIE['Key_fcs_member'];
$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: ***");

}
}
}

//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(ID_fcs_member, $_POST['username'], $hour);
setcookie(Key_fcs_member, $_POST['pass'], $hour);

//then redirect them to the members area
header("Location: ***");
}
}
}
else
{
}
ob_end_flush();
//**********End Member Login!**********\\
?>

 

It should redirect me to the index.php but it just again, shows me the normal login page (Note: "***" = Don't want you to know now..)

 

 

 

And:

 

It suppresses output and stops the Header error from appearing.  But instead of using it, you should rethink your logic and code it so you don't need the buffer.

 

Well I tried that but nobody here helped me with it sooo..

Link to comment
https://forums.phpfreaks.com/topic/105823-solved-ob_start/#findComment-542379
Share on other sites

Probably a logic error, with all your nested empty loops all over the place, and no indention your code is impossible to follow. I don't want to take the time to indent your code just to figure out what you're doing, but I willl suggest that you break things up into smaller more discrete pieces, perhaps even using "functions".  You might even want to try your hand at a simple flow chart.

 

 

Link to comment
https://forums.phpfreaks.com/topic/105823-solved-ob_start/#findComment-542479
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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