Ошибка анализа: синтаксическая ошибка, неожиданный T_ELSE, и я не знаю, почему

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