2017-01-04 49 views
1

私はHTML/CSS/PHPとMySQLを使いこなしています。私はまだセキュリティを考えていません。HTML - 異なる出力を実行する2つの同一のコード断片?

私は2つのファイルを持っています。最初はpage1.php、もう1つはpage2.phpです。

if (isset($_SESSION["loggedin"])){ 
    echo "<li class='navbar-button' id='right-status'><a>Logged in as admin</a></li>\n"; 
    echo "<li class='navbar-button' id='right-change'><a href='logout.php'>Log Out</a></li>\n"; 
} else { 
    echo "<li class='navbar-button' id='right-change'><a href='login.html'>Log In</a></li>"; 
} 

それはそれがない場合には、「管理者としてログイン示し、「LOGGEDIN」という名前の現在のセッションデータが存在するかどうかをチェックします:かなりシンプルな、彼らの両方が、その中にいくつかのPHPコードを持っているナビゲーションバーを持っています - 「ログアウト」をクリックします。このセッションデータが見つからない場合は、Navbarに「ログイン」と表示されます。私はpage1.phpをロードするとnavbarに "admin - Log Outとしてログイン"と表示されますが、page2.phpをロードすると "Log In"と表示されます。これらは両方ともと同じコードを持ち、なぜiの結果が異なるのかわかりません。それが適切かどうかはわかりませんが、page2.phpはpage1.phpと同じフォルダに保存されていません。 Page1.phpのディレクトリは/page1.phpです。 Page2.phpのディレクトリは/folder/page2.phpです。

質問1:PHPセッションは、ウェブサイト全体のすべての単一ファイル/フォルダにデータをグローバルに格納しますか?または単にルートフォルダにありますか?

質問2:私のコードはなぜ異なる回答ですか?

ありがとうございます。

:)

編集:

申し訳ありませんが、言及するのを忘れてしまった、page2.phpは、PHPを使用してコンピュータで生成しました。

+0

両方のファイルでセッションを開始していますか? –

+0

@RossWilsonああ......。私はセッションを開始するためにコンピュータ生成のコードを編集するのを忘れていました。私はそのようなダンボールのように感じる。明白なことを指摘していただきありがとうございます... –

答えて

0

私のpage2.php(コンピュータ生成)でセッションを開始するのを忘れてしまったのは、かなり複雑で、私はそれをスキップしたに違いありません。それを指摘したRossWilsonに感謝します。

関連する問題