开发者

Syntax problem with this short php code

开发者 https://www.devze.com 2022-12-15 00:28 出处:网络
How should I write the $location variable into the header line? Right now it finds nothing... Blank adress bar...

How should I write the $location variable into the header line? Right now it finds nothing... Blank adress bar...

Her开发者_开发技巧e's what I have so far:

  $location='/ad?ad_id='.$id_nr;
  Header( "Location: $location" );

BTW, this is on my computer, virtual server, the adress is absolute!

It works without the ?ad_id=.$id_nr part!


Well, the header() function is header not Header and the URI in location headers must be absolute, not relative.


The Location header must be a fully-formed absolute address, starting with http:// or some other protocol like https. You cannot specify a relative URL.

Try this, with mysite.com replaced with the root URL for your site:

<?php

$location='/ad?ad_id='.$id_nr;
Header( "Location: http://www.mysite.com/$location" );
// or, on your local machine
Header( "Location: http://localhost/$location" );

?>

You might consider eventually writing a more useful function to do the work for you:

<?php

function redirect_to($location, $halt = true) {
  $root = $_SERVER['HTTP_HOST'];
  header("Location: $root/$location");
  if ($halt)
    exit;
}

?>


Use $_SERVER['HTTP_HOST'] to get the full url.

Don't forget to put an exit after the header call. The script won't stop automatically, you have to tell it to stop.


In your location variable, i don't see a valid file extention eg html or php. Are you sure there is no extension of your files?

$location='/ad?ad_id='.$id_nr;
Header( "Location: $location" );
0

精彩评论

暂无评论...
验证码 换一张
取 消