0

ページを作成しましたが、ユーザーにページへのアクセスを許可する前に、ユーザーを認証しようとしています。私の問題は、次のような方法を使用していることです。

if($_SESSION['username']){
echo 'PAGE CONTENT HERE';

}else{
 SEND BACK TO LOGIN PAGE
}

一部のページでは正常に動作しますが、メイン ページではデータベースから php を選択ボックスに入力し、上記のメソッドを使用すると、すべてのオプションが選択範囲外に表示されます (ページをエコーアウトしない場合は正常に動作します) )

ここでトリックがありませんか?

4

2 に答える 2

0

エコーを使用しないでください。php if/else の代替構文を使用してみてください: http://www.php.net/manual/en/control-structures.alternative-syntax.php

私はこれを使用していますが、ページのコンテンツやスクリプトの邪魔になりません。

<?php if(conditional): ?>
<p>plain html and what not here</p>
<?php else: ?>
<a href="#">more html here</a>
<?php endif; ?>

または、header("Location: redirect.php"); を使用したリダイレクト。セッションチェックコードに基づいています。

于 2013-03-28T13:10:58.837 に答える
0

これを使ってみてください。

session_start();

if(empty($_SESSION['username'])){
    header("Location: page-to-redirect.php");
}

//Rest of the code....
于 2013-03-28T13:07:45.337 に答える