On Thu, 2009-09-10 at 08:57 +0200, A.a.k wrote: > is there any alternative to header() for redirect users? > > "George Langley" <george.langley@xxxxxxx> wrote in message > news:B1B897D4-7448-4B71-BFFC-3ADDC27CED32@xxxxxxxxxx > > Hi Blueman. As soon as ANYTHING has been drawn to the browser, you cannot > > use a header command. So you need to work through all of your code, and > > ensure that all of your logic that could result in a header call is run > > BEFORE you send any html code. Is going to be tricky if mixing html and > > php calls. > > > > George > > > > > > On 10-Sep-09, at 12:27 AM, A.a.k wrote: > > > >> hello > >> I recentrly uploaded my project from localhost to a hosting and found > >> many errors and warnings which didnt have in local. one of the most > >> annoying one is header('Location xxx'). > >> I have used header to redirect users from pages, and kinda used it alot. > >> i know about the whitespace causing warning, but most of the pages i'm > >> sending users got html and php mixed so i'm confused about how to remove > >> whitespace in a html/php file. the error is : > >> Warning: Cannot modify header information - headers already sent by .... > >> here is a simple example, user update page : > >> if($valid) > >> { > >> $msg='111'; > >> $user->dbupdate(); > >> header("Location: /admin/index.php?msg=$msg"); > >> > >> } > >> else > >> { > >> foreach($errors as $val) > >> echo '<p id="error">'.$val.'</p>'; > >> } > >> > >> and on admin index i get $msg and display it. > >> <html> > >> ...... > >> //lots of stuff > >> <?php > >> $msg = $_GET['msg']; > >> switch($msg){ > >> case '111' echo '<p> </p>'; > >> break; > >> case '421':... > >> } > >> ?> > >> // more html and php > >> > >> how can i fix this? > >> > >> -- > >> PHP General Mailing List (http://www.php.net/) > >> To unsubscribe, visit: http://www.php.net/unsub.php > >> > > > > Several: * Javascript - not always available on your target system, or blocked by script blocking plugins * Meta refresh tags - should be honored by the user agent, but may not always be. The problem you have is not that you need to work around this 'problem' in PHP, but you need to fix your broken code. This problem often comes up on the list, and is usually because of extra whitespace in include files, or errors being output to the browser which force the headers to be sent. Thanks, Ash http://www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php