Ошибка анализа: синтаксическая ошибка, неожиданный 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 }?>
Почему я получаю эту ошибку? У меня есть все скобки, которые мне нужны, не так ли?
Ответы
Ответ 1
}
и else {
нельзя разделить с тегами PHP так, как у вас есть. Подумайте об этом, как будто вы пытались сделать:
<?php
if($some_condition) {
//do something
}
echo ' ';
else {
//something else
}
Это даст вам ошибку синтаксического анализа. Поскольку вы закрываете теги PHP, а затем эффективно выводите пробелы, а затем снова открываете, ваш код ведет себя аналогично этому. То же самое относится и к тому, что вы должны были делать <?php }?><?php else {?>
, только он будет вести себя так, как будто вы делали echo '';
между ними.
Ответ 2
Более чистый и менее подверженный ошибкам способ заключается в использовании :
<?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; ?>
Ответ 3
Перепишите вот так и посмотрите
<?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
не должно быть в начале
Ответ 4
Попробуй так:
<?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 }?>