Re: Redirec.t

From: Date: Sat, 29 Mar 2003 02:02:54 +0000
Subject: Re: Redirec.t
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-141535@lists.php.net to get a copy of this message
Yes, I agree it's a workaround, but sometimes it's required for code readibility (and sanity! :) For example, what if I have multiple pages in one file, with a switch-case, and some need to redirect, but there's a page header and footer? For example: <?php include('includefile.php'); outputheader(); switch($_GET['page']){ case 'foo': //Output something here break; case 'bar': //Redirect here break } outputfooter(); ?> The only way would be to do the footer and header on only pages that need them, which can be lived with for a few pages, but imagine a few hundred, or thousand! Sometimes, a quick hack is good IMO. John W. Holmes wrote:
Ahhh... but the million dollar question is if you understand WHY it worked... Do you understand that this is a workaround and if you coded correctly you wouldn't need it? Output buffering to enable a header() redirect later in your code is almost never needed if you code correctly. Think about it: if you're going to redirect to a new page, why would you have output!? ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/
-----Original Message----- From: Johnny Martinez [mailto:jmartinez@tmi-la.com] Sent: Friday, March 28, 2003 8:37 PM To: 'Leif K-Brooks'; Johnny Martinez Cc: 'php-general@lists.php.net' Subject: RE: [PHP] Redirec.t Thanks! That worked! Johnny -----Original Message----- From: Leif K-Brooks [mailto:eurleif@buyer-brokerage.com] Sent: Friday, March 28, 2003 4:53 PM To: Johnny Martinez Cc: 'php-general@lists.php.net' Subject: Re: [PHP] Redirec.t Try putting: ob_start(); at the top of your file (before ANY output is done). Johnny Martinez wrote: Forgive me. I'm new to php. I put the function in my function.php include file which is loaded
before
I display anything. I want to redirect the browser to a new url once the php script is finished. Johnny -----Original Message----- From: Evan Nemerson [ mailto:evan@coeus-group.com <mailto:evan@coeus-group.com> ] Sent: Friday, March 28, 2003 3:56 PM To: Johnny Martinez Subject: Re: [PHP] Redirec.t No. You have to send header information before you output anything
even-
before the <html>. On your document, you have to put it before what is currently line 12. On Friday 28 March 2003 03:39 pm, you wrote: Tried that...here is the error: Warning: Cannot modify header information - headers already sent by (output started at D:\bmc\uploads\request_mdb\header.php:12) in D:\bmc\uploads\request_mdb\functions.php on line 16 Any ideas? Does this only work in the <head></head>? Johnny -----Original Message----- From: Evan Nemerson [ mailto:evan@coeus-group.com <mailto:evan@coeus-group.com> ] Sent: Friday, March 28, 2003 3:34 PM To: Johnny Martinez; php-general@lists.php.net <mailto:php-general@lists.php.net> Subject: Re: [PHP] Redirec.t header("Location: http://www.domain.com/admin.php <http://www.domain.com/admin.php> "); if you _really_ need to use your syntax, you could function redirect($uri) { header("Location: ".$uri); } On Friday 28 March 2003 03:28 pm, Johnny Martinez wrote: Hi all, Can someone tell me the function to redirect a browser to a specific page? Johnny For example: <? code... code... code finished. redirect( "http://www.domain.com/admin.php" <http://www.domain.com/admin.php> ); ?> -- The above message is encrypted with double rot13 encoding. Any unauthorized attempt to decrypt it will be prosecuted to the full extent of the
law.
-- The above message is encrypted with double rot13 encoding. Any unauthorized attempt to decrypt it will be prosecuted to the full extent of the law.

« previous php.general (#141535) next »