2016-04-28 3 views
1

でラップせずにHTMLを示しますユーザーのアカウントが禁止されている場合は表示されません)。ただし、ページの下部にあるフッターに追加すると、exit()ステートメントがページの残りの部分を生成するのを中止したため、禁止されたユーザーのページには表示されません。私はこのように私のコードを再フォーマットできます。は条件付きで、私はこのようになり、ユーザーのプロファイルを生成するコードのブロックを持っているPHP echo文

<?php 
    if($user_isbanned) { 
     echo 'User is banned.'; 
    } else { 
     // Content to show if the user is not banned 
    } 
?> 

これは私のフッターになるだろうにかかわらず、ユーザーが禁止されているかどうかの表示されますが、私は一つの大きなPHPエコー文でページ全体をラップする必要はありません。 PHPの条件が満たされていない場合や、ページ全体をechoステートメントに入れずにHTMLの特定のブロックが表示されないようにする方法はありますか?ただ、ユーザーが禁止されている内容の異なる種類を、レンダリング

<html> 
<head> 

</head> 
<body> 
    <div id="header"></div> 

    <?php if($user_isbanned){ ?> 
     <div id="content-banned"></div> 
    <?php } else { ?> 
     <div id="content-not-banned"></div> 
    <?php } ?> 

    <div id="footer"></div> 
</body> 

:あなたは何ができるか

+0

私はフッタを別のファイルに入れて、必要に応じて含めることをお勧めします。 – Ultimater

+0

PHPモードを何回でも起動し、停止することができます。 –

+0

'<?php if($ user_isbanned):?> ... stuff ... <?php else:?>その他のもの... <?php endif; ?> ' – CD001

答えて

1

最初の例では、フッターは決して表示されません。実際には、閉鎖の</html>タグでさえ、それはあまり望ましくないようです。あなたは文字通りecho HTML持っていません

、あなただけの可能性:

<?php 
    if($user_isbanned) { 
     echo 'User is banned.'; 
    } else { 
?> 

<!-- html goes here --> 

<?php 
    } 
?> 

代わりに、あなただけの完全に別のページに禁止されたユーザーをリダイレクトすることができます。

+0

これは完全に機能します。どうもありがとうございました! :) – ExplodingKittens

3

はそのようなものです。

+0

HTMLページの可読性のために、これはおそらく最良の方法です:if():elseif :else:とendif; HTMLタグのように見えます。しかし、ただ好み。 – Christian

1

私の推奨されるソリューションは、有益なページへのHTTPリダイレクトのようになります。

<?php 
    if($user_isbanned) { 
     echo 'User is banned.'; 
    } else { 
?> 
    <p>Content to show if the user is not banned</p> 
<?php 
} 

N.B.:あなたの現在のデザインを維持することを好む場合

<?php 
if($user_isbanned) { 
    header('Location: http://example.com/banned'); 
    exit(1); 
} 
<!DOCTYPE html> 

?>タグを閉じることはオプションです。

関連する問題