| 
	
 | 
 Posted by P-Rage on 07/13/06 15:52 
Benjamin Esham wrote: 
> P-Rage wrote: 
> 
> > I was wondering what could possibly cause Internet Explorer 6 to loop a 
> > page usging a header(Location:) statement. 
> > 
> > For example, a page called 'page1.php': 
> > 
> > if((isset($_POST['var'])) && ($name='valid')){ 
> > 
> >      // insert some data into MySQL. 
> > 
> >      $location = 'page2.php?name='.$name; 
> >      header(sprintf("Location: %s",$location)); 
> >      exit(); 
> > } 
> > 
> > FireFox redirects the user to page2.php as planned. But IE6 loops back to 
> > page1.php (refreshes twice on most occasions). Any ideas? Thanks in 
> > advance for any help and advice. 
> 
> Technically, the location you pass should be an absolute URL; try replacing 
> your code with something more like 
> 
>   header('Location: http://www.example.com/page2.php?name=' . $name); 
> 
> That may or may not make your page work; I'm not sure. 
> 
> (By the way, the statement $name='valid' in your if statement probably 
> doesn't do what you want it to do: it assigns the value 'valid' to $name, 
> instead of checking to see whether the two are equivalent.  If that's an 
> actual excerpt from your code, change it to $name == 'valid' in order to 
> avoid unexpected behavior.) 
> 
> HTH, 
> -- 
> Benjamin D. Esham 
> bdesham@gmail.com  |  AIM: bdesham128  |  Jabber: same as e-mail 
> "...English is about as pure as a cribhouse whore. We don't just 
> borrow words; on occasion, English has pursued other languages 
> down alleyways to beat them unconscious and rifle their pockets 
> for new vocabulary."                              - James Nicoll 
 
Thanks for your reply! Yes that was a typo ($name == 'valid'). I am 
still getting these loops occasionally after using an explicit 
http-location header... any other ideas? Thanks again!
 
[Back to original message] 
 |