Я пытаюсь написать оператор 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>;
}
?>
Таким образом, когда пользователь находится на странице сведений, список навигации будет отображаться на боковой панели, но будет скрыт, если пользователь уйдет со страницы сведений. Текущий код дает мне эту ошибку: Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\includes\sidebar.php on line 54
Ответ 1 · рейтинг 2 · Matt H
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
}
?>
Ответ 3 · рейтинг 1 · Jemaclus
Вам нужно закрыть тег PHP после оператора if, например:
<?php
if (strpos($_SERVER['PHP_SELF'], 'about.php')) { ?>
<ul>
...
</ul>
<?php
}
?>
Вы не можете поместить обычный HTML в теги PHP, если вы не повторите его или не закроете теги PHP. Лично я предпочитаю закрывать теги PHP, так как это облегчает чтение HTML.
Надеюсь, это поможет. Удачи.