Вот мой 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
не стоит начинать