これは以下のPHPファイル内の私のブートストラップnavbarです。私がしたいのは、navbarにアクティブなクラスを追加することです。私はこのコードでそれを達成することができた:PHP basename insideエコーはアクティブなクラスを追加しません
<li <?php if (basename($_SERVER['PHP_SELF']) == 'index.php')
`echo 'class="active"' ?>><a href="index.php">Home </a></li>
これは以下の通りです。できます。
<?php
if(logged_in()){
echo
'
<!--<li ><a href="admin.php">admin</a></li>-->
<li <?php if (basename($_SERVER['PHP_SELF']) == 'logout.php') echo
'class="active"' ?>><a href="logout.php">Logout</a></li>
<li><a href="admin.php">Games </a></li>
<li><a href="#">Contact</a></li>
';
}else{
echo '<li><a href="register.php">Login</a></li>';
}
?>
コードも以下に見つけることができます:
はしかし、私はまた、ユーザーがログインしている場合はナビゲーションバー李さんをエコー機能を持っています。しかし、私は使用することはできません。
<li <?php if (basename($_SERVER['PHP_SELF']) == 'logout.php') echo
'class="active"' ?>><a href="logout.php">Logout</a></li>
を私がそれを使用するだけの方法:
<li <?php if (basename($_SERVER['PHP_SELF']) == 'index.php') echo
'class="active"' ?>><a href="index.php">Home </a></li>.
私はエラーを取得する:
Parse error: syntax error, unexpected 'PHP_SELF' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\together\includes\nav.php on line 35.
35行目は、問題のあるコードです:
<li <?php if (basename($_SERVER['PHP_SELF']) == 'index.php') echo
'class="active"' ?>><a href="index.php">Home </a></li>
私が削除したとき:php basenameを行から削除する上記のように、私は エラーを取得しませんが、私が最初に説明したようにアクティブクラス を追加するために実装したい技術です。
問題は:ログインした関数を呼び出すときに、どのようにアクティブなクラスを追加できますか?
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-
toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-
expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php">Plutolingo</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li <?php if (basename($_SERVER['PHP_SELF']) == 'index.php') echo
'class="active"' ?>><a href="index.php">Home </a></li>
<!--<li><a href="#">About</a></li>-->
<!--<li><a href="register.php">Login</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-left">
<?php
if(logged_in()){
echo
'
<!--<li ><a href="admin.php">admin</a></li>-->
<li <?php if (basename($_SERVER['PHP_SELF']) == 'logout.php') echo
'class="active"' ?>><a href="logout.php">Logout</a></li>
<li><a href="admin.php">Games </a></li>
<li><a href="#">Contact</a></li>
';
}else{
echo '<li><a href="register.php">Login</a></li>';
}
?>
</ul>
</div><!-- /.navbar-collapse -->
答えていただきありがとうございます。エラーの原因、つまりエスケープされていない文字が見つかりました。私はあなたのソリューションと以下を試しました: '