Вот мой PHP-код:
<?php if($user->uid == '1'){ ?> <h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events --> <?php } ?> <?php else { ?> <h3 class="info">Athletic Events</h3> <?php }?>
Почему я получаю эту ошибку? У меня есть все скобки, которые мне нужны, не так ли?
} И else { не могут быть разбиты с помощью тегов PHP так, как у вас есть. Подумайте об этом, как если бы вы пытались сделать:
<?php if($some_condition) { //do something } echo ' '; else { //something else }
Это даст вам ошибку синтаксического анализа. Поскольку вы закрываете теги PHP, а затем эффективно выводите пробелы, а затем снова открываете, ваш код ведет себя аналогично этому. То же самое относится и к вам, если вы будете делать <?php }?><?php else {?> , Только он будет вести себя так же, как вы делали echo ''; между.
Более чистый и менее подверженный ошибкам способ заключается в использовании :
<?php if($user->uid == '1'): ?> <h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events --> <?php else: ?> <h3 class="info">Athletic Events</h3> <?php endif; ?>
Попробуйте это так
<?php if($user->uid == '1'){ ?> <h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events --> <?php } else { ?> <h3 class="info">Athletic Events</h3> <?php }?>
Перепишите вот так и давайте посмотрим
<?php if($user->uid == '1'){ ?> <h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events --> <?php } else { ?> <h3 class="info">Athletic Events</h3> <?php } ?>
это также сработало
<?php if($user == '1'){ ?> <h3 class="info">Upcoming Games</h3> <!--MY CHANGE -from Athletics Events --> <?php } else ?> <?php { ?> <h3 class="info">Athletic Events</h3> <?php }?>
это была копия вашего кода, а else – вверх. Так что очевидно, что else не стоит начинать