Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP If/Else语句不工作_Php - Fatal编程技术网

PHP If/Else语句不工作

PHP If/Else语句不工作,php,Php,我有一个简单的搜索栏 我希望它显示在每个页面上,除了联系人页面 这是密码 function sidepanel() { if ($this->request=='contact') { $this->output('<div class="qa-sidepanel">'); $this->output('</div>'); } else $this->output('<div class

我有一个简单的搜索栏

我希望它显示在每个页面上,除了联系人页面

这是密码

function sidepanel()
{

     if ($this->request=='contact') { 

    $this->output('<div class="qa-sidepanel">');
    $this->output('</div>');

    } else
       $this->output('<div class="qa-sidepanel">');
       $this->search();
    $this->output('</div>');
}
函数侧面板()
{
如果($this->request=='contact'){
$this->output(“”);
$this->output(“”);
}否则
$this->output(“”);
$this->search();
$this->output(“”);
}
在每个页面上,它都会显示搜索栏


然而,当我进入联系人页面时,它显示了一个非常混乱的搜索栏。。但还是有一个搜索栏。。为什么呢?它根本不应该显示一个。

您缺少了另一个上的大括号。如果没有它,则仅跳过侧面板div的打开,但仍会渲染搜索面板和侧栏的关闭

if ($this->request=='contact') { 
    $this->output('<div class="qa-sidepanel">');
    $this->output('</div>');
} else {
    $this->output('<div class="qa-sidepanel">');
    $this->search();
    $this->output('</div>');    
}
if($this->request=='contact'){
$this->output(“”);
$this->output(“”);
}否则{
$this->output(“”);
$this->search();
$this->output(“”);
}
或者,如果你像@AdamM建议的那样整理它:

$this->output('<div class="qa-sidepanel">');
if ($this->request !== 'contact') { 
    $this->search();
}
$this->output('</div>');
$this->输出(“”);
如果($this->request!=='contact'){
$this->search();
}
$this->output(“”);

你的问题是否与流行的使用PHP和MySQL的开源问答平台有关?这个缩进需要清理。为什么?这有关系吗?每行输入空格4次是一件非常痛苦的事情。请使用
选项卡
,Luke。请使用===来比较字符串,以及为什么要复制代码?保持小一点。如果你已经给出了答案,至少试着教他们一些东西。啊哈。非常感谢你。奇怪的是,我的PHP代码中还有其他If/Else语句,但没有Else括号。没人告诉我你需要在Else声明后加括号。。。奇怪的是,其他人都在工作。这对我有帮助!非常感谢你!您不需要为
else
本身加括号。如果有多个语句的代码块,则需要括号。如果只是一条语句,可以省略括号(尽管许多人认为一致使用括号会使代码更具可读性)。