This is a discussion on downloading a file using headers within the PHP General forums, part of the PHP Programming Forums category; I have a page that queries the database then uses the data to build an excel spreasheet. THat spreadsheet is ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
I have a page that queries the database then uses the data to build an
excel spreasheet. THat spreadsheet is downloaded according to info in the headers. My manager wants to put the page inside of another HTML page to make it prettier, but then it breaks because headers are already written (it's included in the other HTML page). It works fine on it's own, but he really wants it in that page. He wants to know if there is a way to trick it into working. Any ideas? I can post the code if necessary, but it's loooong and messy. THanks, Amanda |
|
|||
|
> I have a page that queries the database then uses the data to build an
> excel spreasheet. THat spreadsheet is downloaded according to info in the > headers. My manager wants to put the page inside of another HTML page to > make it prettier, but then it breaks because headers are already written > (it's included in the other HTML page). It works fine on it's own, but > he really wants it in that page. He wants to know if there is a > way to trick it into working. Just set a flag on whether you send the headers or not. Have it default to sending them... if(!isset($somevariable)) { header(...); } ---John Holmes... |
|
|||
|
* Thus wrote Amanda McComb (amccomb@indiana.edu):
> I have a page that queries the database then uses the data to build an > excel spreasheet. THat spreadsheet is downloaded according to info in the > headers. My manager wants to put the page inside of another HTML page to > make it prettier, but then it breaks because headers are already written > (it's included in the other HTML page). It works fine on it's own, but > he really wants it in that page. He wants to know if there is a > way to trick it into working. If I understand this corretly you want the page to be like: [html stuff] [excel spreadsheet] [html stuff] The only way to do this is using iframes or somthing similar to that. You dont have to touch your php script at all. Curt -- "I used to think I was indecisive, but now I'm not so sure." |
|
|||
|
You could use an iframe or you could turn on output buffering, when
output buffering is enabled you can send headers after normal output has been sent. Just do ob_start(); at the top of your script. Not the most elegant way of doing it but it would work and not require you to use an iframe. Jason Amanda McComb wrote: >I have a page that queries the database then uses the data to build an >excel spreasheet. THat spreadsheet is downloaded according to info in the >headers. My manager wants to put the page inside of another HTML page to >make it prettier, but then it breaks because headers are already written >(it's included in the other HTML page). It works fine on it's own, but >he really wants it in that page. He wants to know if there is a >way to trick it into working. > >Any ideas? I can post the code if necessary, but it's loooong and messy. > >THanks, >Amanda > > > > |