mercredi 7 octobre 2015

Unexpected behaviour of If-Else

I tried to show a login/logout link in my header based on the value in session. i tried some thing like this

<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>

then both links didn't appeare in the header(login/logout). then after a lot of trying i came up with this code

   <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>

the code is actually same but i have added some spaces between the curly brackets'{'. And it works as i intended. Is space an issue when we use html and yii2 code combined?

Aucun commentaire:

Enregistrer un commentaire