重定向在浏览器栏中给我2个地址。所以我收到了一个错误。无法弄清楚

时间:2012-05-31 16:51:16

标签: php forms redirect

我在浏览器窗口中收到2个地址,因此收到错误消息。这是在GoDaddy上。我想也许改变它可能会修复它,因为它似乎正在提升重定向来自的域。

实施例: 我的site.com - 在提交表单中的提交按钮后尝试重定向到外部网站。

它将我重定向到: http://www.mysite/ http:// external_site  而不仅仅是:external_site.com

任何帮助都会很棒,因为我完全迷失了......

重定向位于表单中的隐藏字段中。它使用的是GoDaddy的php,如下所示:

<?php
$request_method = $_SERVER["REQUEST_METHOD"];
if($request_method == "GET"){
  $query_vars = $_GET;
} elseif ($request_method == "POST"){
  $query_vars = $_POST;
}
reset($query_vars);
$t = date("U");

$file = $_SERVER['DOCUMENT_ROOT'] . "/../data/gdform_" . $t;
$fp = fopen($file,"w");
while (list ($key, $val) = each ($query_vars)) {
 fputs($fp,"<GDFORM_VARIABLE NAME=$key START>\n");
 fputs($fp,"$val\n");
 fputs($fp,"<GDFORM_VARIABLE NAME=$key END>\n");
 if ($key == "redirect") { $landing_page = $val;}
}
fclose($fp);
if ($landing_page != ""){
header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page");
} else {
header("Location: http://".$_SERVER["HTTP_HOST"]."/");
}


?>

1 个答案:

答案 0 :(得分:1)

删除第一个标题中的$_SERVER["HTTP_HOST"] ...

<?php
    /* above your code */ 
    if ($landing_page != ""){
      header("Location: $landing_page");  // If the http:// is missing don't forget to add it
    } else {
      header("Location: http://".$_SERVER["HTTP_HOST"]."/");
    }
?>