Jump to content

Archived

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

jcal

session_start(): Cannot send session cookie error

Recommended Posts

Hi, I am getting the following errors from a php page:

[a href=\"http://mp3scan.net/login1.php\" target=\"_blank\"]http://mp3scan.net/login1.php[/a]


Warning: session_start(): Cannot send session cookie - headers already sent by

Warning: session_start(): Cannot send session cache limiter - headers already sent

The php file calls a "check login" script ,which I've pasted below, I know this is a common problem with whitespace above the session_start call, but I can't see any in my code,
Any help would be appreciated, Thanks

<?php
session_start();
if (!isset($_SESSION['username']) || !isset($_SESSION['password'])) {
$logged_in = 0;
return;
} else {
// remember, $_SESSION['password'] will be encrypted.
if(!get_magic_quotes_gpc()) {
$_SESSION['username'] = addslashes($_SESSION['username']);
}
// addslashes to session username before using in a query.
$pass = $db_object->query("SELECT password FROM users WHERE username = '".$_SESSION['username']."'");
if(DB::isError($pass) || $pass->numRows() != 1) {
$logged_in = 0;
unset($_SESSION['username']);
unset($_SESSION['password']);
// kill incorrect session variables.
}
$db_pass = $pass->fetchRow();
// now we have encrypted pass from DB in
//$db_pass['password'], stripslashes() just incase:
$db_pass['password'] = stripslashes($db_pass['password']);
$_SESSION['password'] = stripslashes($_SESSION['password']);
if($_SESSION['password'] == $db_pass['password']) {
// valid password for username
$logged_in = 1; // they have correct info
// in session variables.
} else {
$logged_in = 0;
unset($_SESSION['username']);
unset($_SESSION['password']);
// kill incorrect session variables.
}
}
// clean up
unset($db_pass['password']);
$_SESSION['username'] = stripslashes($_SESSION['username']);
?>

Share this post


Link to post
Share on other sites
is there any html before the script you posted?
like a header file for example? cause session_start needs to be called before any output of html, for example:

[code]
<?php
session_start();
?>
<html>
<head>
</head>

<body>
// html stuff here
</body>

</html>
[/code]

Share this post


Link to post
Share on other sites
[!--quoteo(post=355301:date=Mar 15 2006, 06:23 AM:name=Leipe_Po)--][div class=\'quotetop\']QUOTE(Leipe_Po @ Mar 15 2006, 06:23 AM) [snapback]355301[/snapback][/div][div class=\'quotemain\'][!--quotec--]
is there any html before the script you posted?
like a header file for example? cause session_start needs to be called before any output of html, for example:
[/quote]

Thanks for the reply, there is no html at all before or after the script , it's pure PHP

Share this post


Link to post
Share on other sites

×

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.