基于post变量的php头重定向
我有来自5个不同来源的访问者访问我的网站,每一个都会根据其来源在url中发送一个变量,如果这些来源发送访问者,我想将他们发送到与用户更相关的单独页面基于post变量的php头重定向,php,redirect,Php,Redirect,我有来自5个不同来源的访问者访问我的网站,每一个都会根据其来源在url中发送一个变量,如果这些来源发送访问者,我想将他们发送到与用户更相关的单独页面 <?php $var = $_GET["var"]; if( $var='site1'){ header('Location: ' . "http://www.example.com/site1page"); }else{ header('Location:
<?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),有人能解释为什么会发生这种情况吗?您的代码正在执行赋值(单等号)。您需要相等测试(双等号):
您的代码正在执行赋值(单等号)。您需要相等测试(双等号):
如果该代码是您正在运行的实际代码-这是因为您使用的是“=”赋值操作,而不是“=”比较运算符。PHP允许您以这种方式咬自己,而不会发出任何警告。如果该代码是您正在运行的实际代码,那是因为您使用的是“=”赋值操作,而不是“=”比较运算符。PHP可以让你这样咬自己,而不需要任何警告。此外,我认为第二个标题行中的逗号会给你一个解析错误。此外,我认为第二个标题行中的逗号会给你一个解析错误。谢谢,我现在感觉很迟钝,真不敢相信我错过了。谢谢,我现在觉得自己很迟钝,真不敢相信我错过了。
<?php if( $var=='site1') { header('Location: ' . "http://www.mysite.com/site1page"); } else { header('Location: ' . 'http://www.mysite.com/othersites/&?var='.$var,); } ?>