簡體   English   中英

嘗試在用戶登錄后在導航欄中顯示用戶的用戶名?

[英]Trying to display the User's username in my Navigation Bar once user is logged in?

我在這段PHP中遇到語法錯誤:

<?php
if(!empty($_SESSION['user']))
{
    echo '<li class="dropdown">';

    Problem somewhere in here -> echo '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Logged in ('echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8')')<span class="caret"></span></a>'; <-Problem somewhere in here

    echo '<ul class="dropdown-menu" role="menu">';
    echo '<li class="inactive"><a href="account.php">Account</a></li>';
    echo '<li class="inactive"><a href="logout.php">log out</a></li>';
    echo '</ul>';
}
    else{echo '<li class="inactive"><a href="login.php">Log In</a></li>';
}
?>

希望有人比我更好能發現問題的根源?

它在Bootstrap下拉菜單中。 如果您需要更多信息,我會盡力回答。 謝謝。

這是因為您正在回聲內回聲。 您應該像這樣組合字符串:

echo '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Logged in (' . htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8') . ')<span class="caret"></span></a>';

我建議使用更復雜的方法:

function returnContentUserSignedIn($user) {
        return '
        <li class="dropdown">
                <!-- CONTENT -->
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                        Logged in ' . htmlspecialchars($user) . '<span class="caret"></span>
                </a>
                <!-- CONTENT -->
        </li>';
}

function returnContentUserSignedOut() {
        return '
        <li class="inactive">
                <!-- CONTENT -->
        </li>';
}

<?php echo ( !empty($_SESSION['user']) ? returnContentUserSignedIn($_SESSION['user']) : returnContentUserSignedOut() ); ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM