我正在尝试编写IF语句,以便当用户在某个页面上时,将显示其他内容。我写了这个:
<?php
if (strpos($_SERVER['PHP_SELF'], 'about.php')){
<ul class="vertical-list">
<li><a href='/' class='button' onclick="return false;">Work Experience</a></li>
<li><a href='/' class='button' onclick="return false;">Education</a></li>
<li><a href='/' class='button' onclick="return false;">Skills</a></li>
<li><a href='/' class='button' onclick="return false;">Portfolio</a></li>
</ul>;
}
?>
因此,当用户在about页面上时,导航列表将填充在侧栏中,但如果用户导航离开about页面,则会隐藏导航列表。当前代码给出了这个错误:
Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\includes\sidebar.php on line 54
答案 0 :(得分:2)
PHP strpos
返回0基础的成功结果,因此您需要正确测试“未找到”结果,并且需要关闭并重新打开PHP标记:
<?php
if (strpos($_SERVER['PHP_SELF'], 'about.php') !== false){
?>
<ul class="vertical-list">
<li><a href='/' class='button' onclick="return false;">Work Experience</a></li>
<li><a href='/' class='button' onclick="return false;">Education</a></li>
<li><a href='/' class='button' onclick="return false;">Skills</a></li>
<li><a href='/' class='button' onclick="return false;">Portfolio</a></li>
</ul>;
<?php
}
?>
答案 1 :(得分:2)
您忘记了实际显示HTML。使用echo
或退出PHP以显示HTML。
答案 2 :(得分:1)
您需要在if语句后关闭PHP标记,如下所示:
<?php
if (strpos($_SERVER['PHP_SELF'], 'about.php')) { ?>
<ul>
...
</ul>
<?php
}
?>
除非将其回显或关闭PHP标记,否则不能将常规HTML放在PHP标记内。我个人更喜欢关闭PHP标签,因为它使得阅读HTML变得更容易。
希望有所帮助。祝你好运。