基于post变量的php头重定向

时间:2009-10-02 19:29:50

标签: php redirect

我有来自5个单独来源的访问者访问我的网站,每个访问者根据其来自哪个位置发送网址中的变量,如果这些来源发送访问者我想将其发送到与其更相关的单独页面用户

<?php
     $var = $_GET["var"];
     if( $var='site1'){
              header('Location: ' . "http://www.example.com/site1page");
     }else{
              header('Location: ' . 'http://www.example.com/othersites/&?var='.$var,);
     }
?>

然而,无论$ var出现了什么,它都会进入第一个标题位置(site1page)任何人都可以解释为什么会发生这种情况吗?

3 个答案:

答案 0 :(得分:4)

如果该代码是您正在运行的实际代码 - 那是因为您使用“=”,分配操作而不是“==”比较运算符。 PHP允许你以这种方式咬自己而不会发出任何警告。

答案 1 :(得分:0)

您的代码正在执行任务(单个等号)。你想要一个相等的测试(双等号):

<?php if( $var=='site1') { header('Location: ' . "http://www.mysite.com/site1page"); } else { header('Location: ' . 'http://www.mysite.com/othersites/&?var='.$var,); } ?>

答案 2 :(得分:0)

另外,我认为第二个标题行中的逗号会给你一个解析错误。