Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
 
  HOME    TRACKER    PHP




"Cannot Modify Header Information" With Large HTML FORM Options


I'm having some really odd behavior with a PHP script. I have it
populating an HTML select form with a for loop. When I try the years
2006 to 1900. I get the following error:

PHP Warning: Cannot modify header information - headers already sent
by (output started at
/Users/chrobb/Sites/city-directory/controlBar.php:54) in
/Users/chrobb/Sites/city-directory/controlBar.php on line 88

I've done a fair amount of searching and it looks like this usually
shows up when people have some extra whitespace after their closing PHP
tags. Doesn't apply seem to apply here. When I crank the number down on
the for loop to 94 iterations, the error goes away. Once I crank it up
to 95, the error comes into play. So, it's tied to the output somehow.
Looking at the raw HTML, there doesn't appear to be any significant
difference between the version with 94 iterations versus the one with
95 iterations, except for the error and the failure of my script.




View Complete Forum Thread with Replies

See Related Forum Messages: Follow the Links Below to View Complete Thread
Sending "header" Info After HTML?
I am looking to use "header("Location:index.php");" in my code. Basically this will be called when the user logs in to redirect them to the home page but as you expect I get the usual "headers already sent message"

Just wondering how to get around this? Do I use the ob_start() method or something?

Failed To Connect To Mailserver At "localhost" Port 25, Verify Your "SMTP" And "smtp_port" Setting In Php.ini
Warning: mail(): Failed to connect to mailserver at "localhost" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini

in php.ini I have:

SMTP = localhost
SMTP_PORT = 25
SENDMAIL_FROM = NULL
SENDMAIL_PATH = "H:WINNTsystem32" (this is where sendmail.dll is
sitting. H is the drive with w2k)

Other PHP code on that page is working.

What else should I check?

Adding "memory" To An Html Form Using Php
Is there anyway to retain the inputed information in a form?

Example:
I have 3 forms. (I am passing the variables from form to form using hidden variables, and the echo statment, thats not the problem) the final form contains the users name, address info etc. After the user fills out that form they come to a screen with all of there outputed info. I ask if there are any mistakes, if there are, the user either hits a back button or maybe a 'fix, edit' button. How do I retain the info on the form, so when the user does try to fix the error, all his info is still in place in the text fields in the form?

Also, does anyone know of a 'canned' form validation script.

Echo "<!--#include File="top.html" -->";
I have a search script which returns a page of results, however I'd like the returned page to be in the same format as the rest of my site.
To do this I've tried adding the HTML for my site to my PHP page with echo" " commands. This works for the plain HTML, but my regular pages also use SSI to do other stuff (some of them even execute other PHP scripts to generate tables of data etc). I've tried

echo "<!--#include file="top.html" -->";
but it doesn't work as I get a parse error. My question is, how do I go about doing this properly? Is this possible at all? And if not have you guys got any suggestions to get around this?

Header Error Without Whitespace Issue - Cannot Modify Header Information
Error = WARNING: Cannot modify header information - headers already sent by (output started at /home/zoneof5/public_html/inde x-dev.html:10) in line 1528 of file common.inc.php

Which comes from me trying to take a login script and put it into an
existing .html file with .htaccess configured to parse php scripts....

Uploading Large Files - Error "stat Failed"
I have a page where i can upload binary file (using the HTML input
type=file approach). This works fine for relatively small files
(<6MB)) but when files get bigger (13MB) there is a problem.
The code of the php file is based upon the article in
http://www.onlamp.com/pub/a/php/200...php_mysql.html: uploading
large binary files using more than one table and more trhan 1 row per
file.

When I want to upload something of -say- 13MB the problems are:

1 takes ages to upload (slow connection? it's on my LAN),

2 after a while I get a error msg:
"Warning: stat failed for none (errno=2 - No such file or directory)
in /Users/marc/Sites/wwwweb/FTP/FileTransfer.php on line 91"

Lines 90 and 91 are below:
90clearstatcache();
91$time = filemtime($SrcPathFile);

(does this mean the tmp file is not there???)

I changed 4 variables in php.ini to accomodate the bigger file size:

max_execution_time=120
post_max_size=65M
upload_max_filesize=65M
memory_limit =65M

I changed the rights on the tmp file upload directory so that everyone
can write to it just to be sure...

Still I get the error.

Why am I not able to upload those big files?

Why does it take so long for the file to upload to the server? It
happens all on my LAN (no proxies enabled) so it should be faster....
even dloading a file from the internet is faster than this.

'echo "": No Such File Or Directory" Error Using "exec" To Pipe In PHP Script
[TCL]
set php {<? print_r("Hello World"); ?>}
puts $php; # PRINTS OUT <? print_r("Hello World"); ?>
puts [exec "echo '$php' | php -q"]
[/TCL]

When I try this within TCL I get the following error:

Cannot Modify Header Information
I have this annoying error. It doesn't really impact the result, but this error annoys me.

Cannot modify header information - headers already sent by (output started at /home/mywebcom/HTML/xmlgallery/images/input_product.php:34) in /home/mywebcom/HTML/xmlgallery/images/input_product.php on line 9 Code:

Cannot Modify Header Information
I have a page that needs to perform two security checks:

1.) that the user accessing the page is logged in
2.) that the user accessing the page has made less than 3 postings already

If either case is false, the user should be redirected to a error page. Here is the code to perform this: Code:

How To Refresh Page Without Prompt The "resend Information...."?
I wrote a PHP page for user input the information to search the
database. And the database data will update every second. I want to
set the auto refresh to get the data from database every minute. But
the page always display the dialog box ask me to resend the
information. How to disable this warning message. I using POST and
REQUEST to get the data from user input page.

Warning: Cannot Modify Header Information
I have a strange problem. When I execute this page on my local server (my machine) the redirect works just find. When I upload it to my remote server and try it I receive the following error message.
Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/fauna/docs/www/Register/bd_register.php:6) in /var/www/virtual/fauna/docs/www/Register/bd_register.php on line 92. PHP Code:

Cannot Modify Header Information - Headers Already Sent By
my site is in 2 languages - one is an asian language (UTF-8 formatted). Both issues are made 100% the same way. But for some reason when I set a cookie in the asian issue, I get the error message:

Cannot modify header information - headers already sent by ......

Well I am aware of the fact that the cookie must be sent before the header. But that's exactly what I do. PHP Code:

Cannot Modify Header Information - Headers Already Sent By
I am getting this error:
Cannot modify header information - headers already sent by

when I issue a
header ("Location: http://www.foobar.com");

How can I redirect the user to such a site without encountering this error.

If I run the same code on two sites I will get the error on one site but
not the other.

An I can t figure out what setting in the php.ini that is different.

How can one send a refresh in 0 seconds to the broweser?

Cannot Modify Header Information - Headers Already Sent
I'm trying to get my head around some PHP concepts. I tried this very simple login : PHP Code:

Cannot Modify Header Information Error
I am having an issue with an php error I am receiving.  I have a page that works on an older version of php running on a server which is 4.3.1.  However, on another server running php version 4.4.4, that same page returns the following error.

Warning: Cannot modify header information - headers already sent by (output started at /home/thegr29/public_html/headerinclude.php:6) in /home/thegr29/public_html/media_videos/retrieve.php on line 315

The page is setup so that there is a header include, a retrieve file, and a video include. The retrieve file checks for a matching city and state and includes the video include file.  In the video include file, the matching city and state is then used to load the correct html which will be echoed out to the page. Code:

Cannot Modify Header Information - Headers Already Sent
Have no problem with this on any of my other pages, have checked for white space and even unformatted it to check and put it into Notepad instead of TextPad but no joy there. Dont know if its anything to do with cookies,

Warning: Cannot modify header information - headers already sent by (output started at C:wampwwwincludeheader.php:7) in C:wampwwwlog_out.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at C:wampwwwincludeheader.php:7) in C:wampwwwlog_out.php on line 10 Code:

Warning: Cannot Modify Header Information
I am trying to redirect from login page to logged in page, but using the {header( 'Location: C:wampwww' ) ;} is giving me this error {
Warning: Cannot modify header information - headers already sent by (output started at C:wampwwwpassword.php:14) in C:wampwwwpassword.php on line 35}, find below my code:

Warning: Cannot Modify Header Information
I am getting this error:

Warning: Cannot modify header information - headers already sent by (output started at C:wampwwwusersystem3login.php:17) in C:wampwwwusersystem3login.php on line 41

Here is my pages code. The include files just has the session start and the database connection. Code:

Cannot Modify Header Information - Headers Already Sent By...
I am getting this error message in one file but not another. How can I trace down the cause of this error message? No blank lines exist in this file outside of the php tags.

How Do I Do Something Like $color = ("red", "yellow", "blue")[$colornum]?
How do I take an index of a literal array, instead of a variable?

That is, say I want to get the short name of a month. Can I do
something like:

$monthname = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec")[$month];

or do I always have to do:

$blah = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec");
$monthname = $blah[$month];

It seems a shame to have to create a variable specifically for this
one-shot purpose.

Redirecting The Page - Cannot Modify Header Information
I have one doubt regarding redirecting the page..

If I run the redirect code that is header("Location: www.sampels.com") in the
local server it works well but If I upload the same PHP file to the web server It gives warning and didnt work.

Warning: Cannot modify header information - headers already sent by (output
started at /usr/local/etc/httpd/htdocs/project/index.php:7) in
/usr/local/etc/httpd/htdocs/prjoect/index.php on line 108

what can I do to do solve this problem.. please can anyone help me.

Php_auth - Warning: Cannot Modify Header Information
I don't understand the problem I am having.. I am getting the dreaded

Warning: Cannot modify header information - headers already sent by (output started at /usr/lib/php/inc_test.inc:2) in /our/web/dir/index.php on line 15

... blah blah blah message. I know what the problem is, but I don't. Let me explain.

The following code works WITHOUT the include(); Once the include is ... well .. included, I get the warning. I know my include works, I have tested it in other scipts. the <?php is all the way at the top like it should be with no trailing spaces etc.

So now that I know that my include is causing this error, I need to know what about my include is so negative. In other words "why?".

index.php -->

<?php
session_start();
include('inc_test.inc');
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Advertisers"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.'
exit;
}
else if (isset($_SERVER['PHP_AUTH_USER']))
{

if (($_SERVER['PHP_AUTH_USER']!= "admin") ¦¦ ($_SERVER['PHP_AUTH_PW']!= $pass)) // Line 15
{
header('WWW-Authenticate: Basic realm="Advertisers"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.'
exit;
}
}
?>

inc_test.inc -->

<?php
$MyArray[] = "element1";
$MyArray[] = "element2";
$MyArray[] = "element3";
$MyArray[] = "element4";
print "Testing ... I have been included!";
?>

Warning: Cannot Modify Header Information - Headers Already Sent By
I'm a newbie at all of this, but am loving it! Well, until I started getting the below error message and I can't figure out how to solve it! Any help would be greatly appreciated! Remember when you send ideas and suggestions, that I'm still pretty new to this, so you may want to be detailed so I can understand! Thanks!

Here's the error messages I'm receiving:

$_RESPONSE Cannot Modify Header Information - Headers Already Sent By
$URL = "out.php?msg=selected+records+have+been+deleted+fro m+the+database.";
header("Location: $URL");

BEFORE any HTML output (does this include 'echo' output's?)

but: if, like in my case, for example, I delete data (passed in req)
from db THEN I redirect pg back to referer, how can I put redirect code
BEFORE anything else? I have to do db stuff, disconnect from db, THEN
do the redirect.. this is my code at then of file in question:

<html><head>css.. etc.. </head><body>
php: do db stuff... then:
mysql_close($conn);
echo "<br><br><b>connection to db closed.</b><br><br><br>";
$URL = "out.php?msg=selected+records+have+been+deleted+fro m+the+database.";
header("Location: $URL");
?>
</body>
</html>

(this is not a serious problem since can do with JavaScript, but just
wondering what the deal is here... in Java you do redirect with RESPONSE
object, and you can put redirect code wherever you want.. I don't quite
understand why this is a problem in PHP..)'

(does $_RESPONSE exist in PHP? I looked here,
http://us3.php.net/reserved.variables.. I see $_REQUEST, but not $_RESPONSE..

Server Error! (Cannot Modify Header Information)
Made a very simple upload script that also displays the contents of the directory it uploads to. Nothing complicated. However, not sure what kind of server I used to test it on but the final server I just moved it to which I know is LINUX is giving me the following error (which the tested server works perfect):

"Warning: Cannot modify header information - headers already sent by (output started at /home/content/c/a/n/cangirls/html/images/index.php: in /home/content/c/a/n/cangirls/html/images/index.php on line 20" Code:


Error Using Header("", FALSE) To Show Multiple Images From MySQL Db
Many people seems to have problems when displaying multiple images from their database (mySQL db). Often you can read error statements like "Header already sent out ...". To solve this, people often propose to use include files.

To keep the scipt it would be nice not having this problem, being able to sent out multiple headers to a browser without getting these error messages. In the PHP4 manual, we can read an option that can be added to the header statement, Header("xxx",FALSE). It would enable multiple headers to be sent out.

For instance the following statement:

while ($product = db_fetch_object($result)) {
header("Content-type: pv($product->filetype)",false);
echo pv($product->image)"
}

However, it doesn't work. Anybody has any idea why? Does anybody use this option FALSE with success?

Aren't Session Variable Preserved Using "Header('Location: Xxx')"?
I am trying to pass some info to another page on my site. I set
"session_start()" in page 1, assign a session variable to a value, then
execute a "header('Location: ....')." But on the target page I don't get
any session variable values! BTW, I used a relative location in the
Location header, not an absolute URL. The behavior looks like it started
another session, but it should not have.

@header("Location: $HTTP_REFERER"); Not Working In Bedford
I have a weird problem. I have an add to cart link on a page which calls a page called AddCart.php with item ID as parameter. This page adds things to the database and then calls @header("Location: $HTTP_REFERER");

It works fine everywhere as far as I know, yet 2 people from Bedford, UK, have told me within 3 days that when they click on add to cart they get the IE standard 'Page unavailable' page. I have been over their IE configuration with one of them and it is configured exactly the same as me, where it works fine. Has anybody got an idea please?

"header" Call Doesn't Work Before Lenghty Operation
My config: Win XP (or 2003), Apache 2.0.54, PHP 5.1.2.

I have been trying to handle the case of a lenghty opearation on the server
while providing the user with feedback and ability to cancel, and nothing
seems to work so far.

The following code is one attempt to address this, and it is called as
result of a POST:

//*************start code***************
session_start;

// prepare exec

// flush session data
session_write_close;

// trying to display a "Please wait..." message:
header( "Location: please_wait.php" );

// long exec
exec( ... );

// finally show the result of the exec
header( "Location: exec_result.php" );
//************end code*******************

Header("Cache-Control: Public") Not Working
I have read somewhere else in this newsgroup that the way to avoid the
message (Warning: Page has Expired blah, blah blah ... ) when one
presses the back button is to place the statement
header("Cache-Control: public");
at the top of the script.
I have done this but I still get the annoying message.
The session.cache_expire in php.ini is set to 180. I am using shared
SSL.


Looking For POST Equiv In Header("Location: Xxx")
I'm trying not to display the parameters being passed by:

print Header("Location: http://www.bytedesigns.com?License=$license&expdate=$expdate");

If I use a form with method=post, no values are shown. The header() in my example behaves like an html method=get, i.e. values displayed on the URL.

Any hints, suggestions and/or pointers to websites that might be able to help me to not display the parameters added will be greatly appreciated.

How Do I Delay A Header("Location: URL") Redirect?
I am using the header () function to redirect a web page. Now I want to delay this actin so the viewer can read a message first.My current code is:

header("Location: http://anothersite.com")

How To Do A Redirect To A "_new" Window With Header()?
I have an app that generates PDF reports using the FPDF class from www.fpdf.org. I use a PHP header() redirect to pass all the form variables (after error checking and processing them) to my report generator program.

This works great as long as Adobe Acrobat does not load itself as a plug-in into the browser window forcing you to click the back-arrow to get back to the Web app (forcing a second post).

Two options: (1) Find a way to force a download of the PDF so it is processed by Acrobat seperate from the browser (ideal), or (2) Generate another page (like target="_new") to house the PDF.

I could not determine for sure if a newpage could be generated in a header() statement by the PHP docs. Is this possible? If not, how would I accomplish this? (inline Javascript maybe?).

Redirect Scripts And Header ("Location: ...")
I made a little redirect script but am getting a 'headers already sent' error on the line with the 'header ("Location: http://someotherdomain.xx")' command. It doesn't make any sense to me why that is happening, since it should send the user to a different domain. Of course the headers are already sent for the page myredirectscript.php, but not for the page on the other domain ....

Preventing Visitors Ability To "re-visit" A Page Via The "back Button"..
I have a rather complex registration/member sign up form.. which gets a little confused, when a visitor "backs" completely out of the form, then for whatever reason returns to the form. The form contains 'cancel' buttons, which naturally cancel the reg process and redirects them to the document just before they started.

JS provides us with the "location.replace()" method, but I can't seem to find a way to coordinate the use of location.replace() with the posting of the form values. In short, I want to "replace" the first step of the form with the "second step".

I think what's making this tricky, is that each step of the form are located within the "same" page (register.php). The document works like so: The first step is the "Member Agreement" when they click "agree" (submit) the system creates a new row in the temporary register table of the db.

It then issues a registration cookie, which carries the row id, and session value. in addition (for those cookie impared users) we carry the row id and session value in hidden elements. So far, as long as the user continues through the process all is fine, but if they (for whatever reason) back all the way out, and click 'agree' again, the process fails.

I guess I have to find a way to force a reload of the 1st step "if they've gone back" OR "replace()" the first step with the second, so as to prevent the user from going "back" to the 1st step of the register page.

Header("Location: Url"); In Mailer
I've tried putting Header("Location: http://myhost.com/me/page.html"); in my mailer's top, middle, even bottom...and it's never worked. All I'm able to do is call on a file...not a page. I really need a html page that has my thank you and tell-a-friend on it.

Header ("Connection: Close")
Relating to a post in this thread, does anyone know if there is there any practical different between:

<?PHP
Header("Location: http://www.example.com/widget.html");
Header("Connection: close");
?>

and:

<?PHP
Header("Location: http://www.example.com/widget.html");
exit;
?>

From a (very) quick browse it seems that the exit command will generate a "Connection: close" header by default. Does "Connection: close" have the same effect as exit in that no further PHP code on the page will be parsed?

[PHP 5 XP IE6]header("test"); Does Not Display
I'm trying a simple form.html that call a .html script that begins
with:

<?php
header("This is a test");
?>

When I click on the link, I get blank page.

I tried every combination of .html and .php as extensions, none works.

I checked the >Tools>Config>advanced menus in IE6, I can't find where
could be some filter to prevent the headers from displaying.

Header("Location: ..."); Problem
I get the following message when trying to run my script:

"Warning: Cannot modify header information - headers already sent by (output
started at /var/www/html/newcustomer.php:23) in
/var/www/html/newcustomer.php on line 332"

....newcustomer.php:23 is where my script begins, at line 23.

before that line, only comments.

The script recives data from a form, checks if the customer exists, if so,
it updates the data otherwise inserts a new customer into the db. Also some
validation is done before writing to the db.

FM>

And here's the flow of my script:

<?php
include 'db.inc'
include 'error.inc.

//init error string
$errorString = "";

//clean & trim POSTed values

... ... ...

//validate data
if (empty($formvars["source"]))
$errorString .=
"
<br>You must suply the name of the source.";

//validate other data

... ... ...

//end of validation

//check if errors exist
if (!empty($errorString))
{
//errors do exist, show them & exit
?>
<html>
<body>
<br>Errors were found.
<br>
<?=$errorString?>
</body>
</html>

<?php
exit;
}

//if all data valid, open connection and load into the db
if (!(connection = @ .....))
die( ... );
if (!mysql_select_db( ... , ... ))
showerror();

//Are the data being updated? Then update the database
if (!empty($cust_id))
{
$query = "UPDATE customer SET " .
"source = "" . $formvars["source"] . "", " .
... ... ...
... ... ...
WHERE cust_id =$cust_id";
}
else
//Create query to insert the data

$query = INSERT INTO customer
... ... ...";

//Run the query on the customer table

... ... ...

//Is this an insert?
if (empty($cust_id))
//find the cust_id of the new customer
$cust_id = mysql_insert_id();

//Now redirect the customer to the receipt page
header ("Location: cust_receipt.php?cust_id=$cust_id");
?>

Redirect -- Header("Location:")
When I use the header redirect I get this error. I have heard there is trouble w/ this function in IIS, but works fine w/Apache.

Warning: Cannot add header information - headers already sent by (output started at include.php:1)

Header("Location:") Substitute ?
Is there something else than "header(Location:)" one could use to redirect users to another page? I get the "Cannot add header information - headers already sent...." message when I try that. I'm using a main page that includes "subpages" in it. And I want to redirect users from one of the "subpages". In ASP you could use "server.transfer" and "response.redirect" where ever you wanted! But I don't like ASP anymore so.... ?

Mail() Not Seeing Custom "From:" Header
I have been having a problem trying to get mail() to work. Using this php: PHP Code:

Header("Location: ..."); NOT WORKING!?
I'm working on a very simple peace of php where basically there is a
form and 3 buttoms. One refreshed the page, one posts the form, and
another one (since this form contains values of a record) deletes the
record. The sintax is this one:

if ($delete)
{header ("Location: $redirect?del=$code&table=$tab");
exit;
}

where $delete is the buttom, $redirect is the string containing the url
("http://www...."). $code and $tab are values verified and correct.

Well the funny thing is that this line worked well since I add the
third buttom (the delete) after I added it even the post buttom doesn't
work anymore. Exactly the page refreshes itself wihout changing
parameters ($redirect contains in fact the same page but with different
parameters) and stops loading the page after this line (probabily the
exit() kicking in). Is there another way to redirect a page other then
header()??? It's driving me crazy...

$PHP_SELF + Header("Location:");
Is it possible to user $PHP_SELF and then in if($_POST) can i use header("Location:"blah.php); as i really cant get it to work Code:

Mail(); "filename" Header?
What header is used the set the filename? Right now, when sending an html email, the attached file is named "unnamed". Here are the headers I am currently using:

    //Headers
    $headers  = 'MIME-Version: 1.0' . "
";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "
";
    $headers .= 'From: ' . $email;

I did a brief google search which did return results, but piecing it together didn't work out so well.

"header(Location:" Not Working
The below code does not redirect: does anyone know why?

if ($_SESSION['prevpage']) {
#echo "session";
header("Location: http://localhost/index.php");
exit;
}

Errors Won't Show Up Even With Error_reporting(E_ALL) And Ini_set("display_errors","1")
Here's my code:

<?php

error_reporting(E_ALL);
ini_set("display_startup_errors","1");
ini_set("display_errors","1");

wefw
wefwef=wefwe
2349023909()
;wrgwrg ====232

phpinfo(); ?>

I get a blank page.

If I take out the crap, it prints phpinfo() just fine.

PHP 4.3.something...

Pagnation - Limit Number Of Pages Between "Previous" & "Next" Hyperlinks
Was hoping for some advice with a part of page navigation....

It works at the moment so there is a "Previous" & "Next" Hyperlink underneath the records. In between the Previous & Next links are the number of pages that there is of these records. e.g:

Previous 1234 Next

This is fine if there are only a few pages of records, but when there are hundreds of pages the numbers are listed and they take up half the web page with them.

How can i make it so only limited 10 numbers of pages say appear between the "Previous" & "Next" Hyperlink and as you progress through the pages they are as do the next 10 numbers of pages? Code:


Copyright © 2005-08 www.BigResource.com, All rights reserved