943,717 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Marked Solved
  • Views: 88278
  • PHP RSS
You are currently viewing page 1 of this multi-page discussion thread
Jun 1st, 2006
0

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

Expand Post »
Whenever i run session in server than it show this problem

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

so pls help me

this is simple login prog when user enter into nxt page it name will show i want to store its name in session

i m giving full code wht i m using if thr is anything wrong pls tell me

<? @session_start();?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0046)http://acmserver.cs.ucr.edu/~nkumar/vision.htm -->
<HTML>
<HEAD><TITLE>Bankon Us</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">

<link rel="stylesheet" href="style.css" type="text/css">
<body topmargin="0" leftmargin="0">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<TD align=center>
<table cellpadding="0" cellspacing="0" border=0 width="100%">
<tr><td height="25">&nbsp;</td></tr>
<tr>
<td width="50%" align="right">
<?php
$_SESSION['admfname']= $_POST['fname'];
$_SESSION['admlname']= $_POST['lname'];
$_SESSION['admpassword']=$_POST['password'];
if (($_SESSION['admfname'] == "peter") and ($_SESSION['admlname'] == "gewant") and ($_SESSION['admpassword'] == "approvalagent"))
{
//header("Location:admin_page.php");
echo "<meta http-equiv='Refresh' content='0; url=admin_page.php'>";
exit;
}
$f_name= $_POST['fname'];
$l_name= $_POST['lname'];
$pass= $_POST['password'];
if($_POST['submit'] != "Login")
{
?>
<table border="0" cellpadding="5" cellspacing="3" width="80%" class="form-noindent">
<tr><td bgColor="#ff9900">
<form method="post" action="<?php $_SERVER['PHP_SELF']?>">
<input type="hidden" name="agent" value="access">
<table border="0" width="100%">
<tr>
<td colspan="3" align="center" class="heading">Sign in with your<br> Account</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>&nbsp;</td>
<td class="textform">First Name&nbsp;:</td>
<td class="forms" valign="top">
<input name="fname" class="cartForm" size=20 type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="textform">Last Name&nbsp;:</td>
<input name="lname" class="cartForm" size=10 type="hidden">
<td class="forms" valign="top">
<input name="lname" class="cartForm" size=20 type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="textform">Password&nbsp;:</td>
<td class="forms" valign="top">
<input class="cartForm" name="password" size=20 type="password"></td>
</tr>
<tr>
<td valign="top" colspan="3" align="center">&nbsp;&nbsp;
<input type="submit" name="submit" value="Login" class="cartForm" >
</td>
</tr>
<tr><td colspan="3">&nbsp;</td></tr>
<tr>
<td colspan="2" align="center"><div class="leo"><a href="forget.php">Forget Password</a></div></td>
<td align="center"><div class="leo"><a href="order.php">New user click here</a></div></td>
</tr>
</table>
</form>
</td></tr>
</table>
</td>
<td width="50%" align="center"><img src="images/online.jpg"></td>
</tr>
</table>
<br><br>
<?php }
elseif($f_name== "" or $l_name== "" or $pass== "")
{
?>
<table border="0" cellpadding="5" cellspacing="3" width="80%" class="form-noindent">
<tr><td bgcolor="#00CC99">
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<input type="hidden" name="agent" value="access">
<table border="0" width="100%">
<tr>
<td colspan="3" align="center" class="heading">Sign in with your Account</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td colspan="3" align="center" class="heading">Please fill all the fields</td></tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>&nbsp;</td>
<td class="textform">First Name&nbsp;:</td>
<td class="forms" valign="top">
<input name="fname" class="cartForm" size=20 type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="textform">Last Name&nbsp;:</td>
<input name="lname" class="cartForm" size=10 type="hidden">
<td class="forms" valign="top">
<input name="lname" class="cartForm" size=20 type="text"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="textform">Password&nbsp;:</td>
<td class="forms" valign="top">
<input class="cartForm" name="password" size=20 type="password"></td>
</tr>
<tr>
<td valign="top" colspan="3" align="center">&nbsp;&nbsp;
<input type="submit" name="submit" value="Login" class="cartForm" >
</td>
</tr>
<tr><td colspan="3">&nbsp;</td></tr>
<tr>
<td colspan="2" align="center"><div class="leo"><a href="forget.php">Forget Password</a></div></td>
<td align="center"><div class="leo"><a href="order.php">New user click here</a></div></td>
</tr>
</table>
</form>
</td></tr>
</table>
</td>
<td width="50%" align="center"><img src="images/login1.jpg" width="300" height="200"></td>
</tr>
</table>
<?php
}
else {
$query = "SELECT * from users WHERE firstname='$f_name' and lastname='$l_name' and password='$pass' ";
$result = mysql_query($query);
for ($i = 0; $i < mysql_num_rows($result); $i++)
{
$id = mysql_result($result, $i, "id");
$fname = mysql_result($result, $i, "firstname");
$lname = mysql_result($result, $i, "lastname");
$pas = mysql_result($result, $i, "password");
if (("$f_name" == "$fname") and ("$l_name" == "$lname") and ("$pass" == "$pas"))
{
$_SESSION['sfname'] = $f_name;
$_SESSION['slname'] = $l_name;
echo "<meta http-equiv='Refresh' content='0; url=user_page.php'>";
exit;
}//if loop
}//for loop
echo "<meta http-equiv='Refresh' content='0; url=new_user.php'>";
//header("Location:new_user.php");
exit;
}
?>
</td>
</tr>
</table>
</BODY>
</HTML>
Similar Threads
Reputation Points: 21
Solved Threads: 1
Newbie Poster
manish812 is offline Offline
12 posts
since Jun 2006
Jun 1st, 2006
-1

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

Headers already sent refers to HTTP Headers.
The server cannot send any more http headers if the HTTP Content has started sending.
In PHP code, this means you have ouput something to the page with echo or print etc.

PHP will not output any whitespace in between php tags, However, for anything outside php tags, (eg: html) whitespaces, linebreaks are sent as HTTP Content.
Sometimes this your editor may add whitespace also.

To prevent whitespace from being sent before you send all your headers, make sure the <?php is right at the top of the php script, and there are no lines or white space in between.

You can also use output buffering, ob_start() to buffer your PHP output before sending it to HTTP. Then use ob_flush() to send http output when you need.
see: http://www.php.net/manual/en/function.ob-start.php

I noticed you have //header("Location:admin_page.php"); in your page. You can use the output buffering to allow you to send this header even after you have echo and html output in your php.
Moderator
Reputation Points: 457
Solved Threads: 101
Nearly a Posting Virtuoso
digital-ether is offline Offline
1,250 posts
since Sep 2005
Jun 11th, 2006
0

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

You have blank lines in your HTML code, remove them and try again.
Reputation Points: 10
Solved Threads: 1
Newbie Poster
maiahost is offline Offline
13 posts
since May 2006
Jun 18th, 2006
1

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

Works fine for me. Attached is the code I copied and pasted, so you have at least a file that worked.

My test was done with EasyPHP, with the PHP version upgraded to 5.04.
Attached Files
File Type: php someguyscode.php (5.0 KB, 1700 views)
Reputation Points: 23
Solved Threads: 23
Posting Pro in Training
Puckdropper is offline Offline
494 posts
since Jul 2004
Jun 18th, 2006
0

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

Pass the header before any HTML tags or else it would show errors
Reputation Points: 58
Solved Threads: 1
Posting Whiz in Training
cancer10 is offline Offline
234 posts
since Dec 2004
Sep 1st, 2008
0

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

Use This Php Script at top of the your php page this script start session before dowload include file i hope you will solve this problem.
<URL SNIPPED>

php Syntax (Toggle Plain Text)
  1. <?php
  2. if (!isset($_SESSION)) {
  3. session_start();
  4. }
  5. ?>
Last edited by peter_budo; Sep 2nd, 2008 at 7:41 am. Reason: Keep It Spam-Free - Do not spam, advertise, plug your website, or engage in any other type of self promotion.
Reputation Points: 10
Solved Threads: 1
Newbie Poster
neeraj93 is offline Offline
1 posts
since Sep 2008
Sep 2nd, 2008
0

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

this error will occur at the times of:

1.any space is there before the session_start(); function..Means it sholu be the first line of your application...
2.dont use session_start(); as twice (in your main application and in your included application)
Reputation Points: 137
Solved Threads: 162
Posting Virtuoso
Shanti C is offline Offline
1,641 posts
since Jul 2008
Aug 14th, 2009
0

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

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/leadtwot/public_html/staging/contact_us.php:1) in /home/leadtwot/public_html/staging/contact_us.php on line 1
Reputation Points: 10
Solved Threads: 1
Newbie Poster
jeyakannanrd is offline Offline
3 posts
since Aug 2009
Dec 22nd, 2009
0

maybe include ...

hey dude
are you sure you dont use include code?
session code must be before include
Reputation Points: 10
Solved Threads: 1
Newbie Poster
tami64 is offline Offline
7 posts
since Jul 2009
May 27th, 2010
0
Re: Warning: session_start(): Cannot send session cache limiter - headers already sent
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/leadtwot/public_html/staging/contact_us.php:1) in /home/leadtwot/public_html/staging/contact_us.php on line 1

I have this problem too. I tried everything without success.
After long research i found the reason and decision in this place.
I hope that's help you and save your time.
Reputation Points: 10
Solved Threads: 2
Newbie Poster
storm123 is offline Offline
11 posts
since May 2010

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: banner manager
Next Thread in PHP Forum Timeline: screenshot of any webpage using php





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC