Я попытался показать ссылку входа/выхода в мой заголовок на основе значения в сеансе. я пробовал что-то вроде этогоНеожиданное поведение If-Else
<ul class="nav navbar-nav navbar-right text-uppercase">
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'site/contactus' ]); ?>">Contact</a></li>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'site/modules' ]); ?>">FAQ</a></li>
<?php
$session = Yii::$app->session;
$user_id = $session->get('userid');//print_r($user_id);die();
if($user_id != null)
{?>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'userdetails/logout' ]); ?>">Logout</a></li>
<?php}
else
{?>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'userdetails/login' ]); ?>">Login</a></li>
<?php } ?>
</ul>
тогда обе ссылки не попадали в заголовок (вход/выход). то после того, как много попыток я придумал этот код
<ul class="nav navbar-nav navbar-right text-uppercase">
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'site/contactus' ]); ?>">Contact</a></li>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'site/modules' ]); ?>">FAQ</a></li>
<?php
$session = Yii::$app->session;
$user_id = $session->get('userid');//print_r($user_id);die();
if($user_id != null)
{
?>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'userdetails/logout' ]); ?>">Logout</a></li>
<?php
}
else
{
?>
<li><a href="<?php echo \Yii::$app->getUrlManager()->createUrl([ 'userdetails/login' ]); ?>">Login</a></li>
<?php
}
?>
</ul>
код на самом деле то же самое, но я добавил некоторые пробелы между фигурными скобками «{». И он работает так, как я предполагал. Является ли пространство проблемой, когда мы комбинируем код html и yii2?
попытаться использовать '! Empty ($ user_id)' – GAMITG
сеанс имел значение, даже тогда ссылка не появилась. также даже если условие не сработало, другое должно было сработать, но оно не – Bloodhound
' php}' недействительно. там должно быть пространство после php. –