是否可以用另一个include覆盖页面


Is it possible to override a page with another include?

问题

我遇到的问题是无法用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']$_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");
}

@Drew-pierce为您提供了第一个响应,因为您需要将OR部分封装为一个组。试试这个:

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