Re: header problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux