2015-06-21 52 views
1

的问题是否有可能用另一个包含覆盖页面?

我遇到的问题是我不能include覆盖当前页面。

if ($LS::getUser('clan') || isset($_GET['clan']) && !isset($_GET['search'])) { 
    include("res/templates/clan-overview.php"); 
} else { 
    include("res/templates/clan-search.php"); 
} 

我不知道为什么我不能clan-search.php更改页面,因为我说如果$_GET['search']未设置执行else语句。但由于一些奇怪的原因,我仍然得到true,即使我说如果用户有CLAN || $_GET['clan'] AND $_GET['search']

我已经试过

那代码,我把在上面实际上是我的,我认为会解决这个问题的原始代码的修改版本。如果你有兴趣看原代码,我不认为会帮助你在这里,它是:

if ($LS::getUser('clan') || isset($_GET['clan'])) { 
    include("res/templates/clan-overview.php"); 
} else if (isset($_GET['search'])) { 
    include("res/templates/clan-search.php"); 
} 
+1

我是一个PHP的傻瓜。但是,这是一个不适当的()包装(缺乏)因为有'和和或' – Drew

+1

我假设你期望'else'运行,如果搜索GET变量可用,无论是,还是已经要求一个家族?如果是这样的话,就像@DrewPierce所说的那样,你需要'()'围绕'||'条件。有关运算符优先级和关联性的更多信息,请参见[documentation](http://php.net/manual/en/language.operators.precedence.php)。 –

+0

@JonStirling是的!哦,好吧,我会尝试! – RepeaterCreeper

回答

1

@Drew皮尔斯给你的第一反应,因为你需要换行或部件为一组。试试这个:

if (($LS::getUser('clan') || isset($_GET['clan'])) && !isset($_GET['search'])) { 
相关问题