0

ログイン後にユーザーアカウントが禁止されている場合はlogout.phpにリダイレクトして、ユーザーをログアウトさせるifステートメントを入力しようとしていますが、これが発生した後もセッションメッセージを表示したいと思います。これは、次のことを実行しようとして実行できますが、セッションメッセージを表示せずに、ユーザーをログアウトしてログアウトするようにリダイレクトするだけです。

誰かが私にどこが間違っているのか教えてもらえますか?

<? if (logged_in()) { ?> 
     <?
    $account_banned = account_banned();
    while ($banned = mysql_fetch_array($account_banned)) 


     if ($banned['account_banned'] == '1')  {
         $_SESSION['banned']="<div class=\"infobox-noprofile\"><strong>Account Banned</strong> - We could not log you in because your account has been banned. If you need to talk to us about this please email <a href=\"mailto:support@playtimeboys.com\">Support@PlaytimeBoys.com.</a></div><div class=\"infobox-close12\"></div>"; 

          redirect_to("logout.php");  


     ?>

     <? } }?>

logout.phpで:

<?
session_start();
if(isset($_SESSION['banned']))
   echo $_SESSION['banned'];
    unset($_SESSION['banned']);

?>
4

2 に答える 2

1

session_start();最初のファイルがありません。そして、ログアウト処理はどこにありますか?その人はログインしたままです(少なくとも彼が最初にいた場合)

于 2013-02-12T19:06:14.893 に答える
0

そのような値をセッション変数内に保存しないでください。代わりに、次のようにしてください。

最初のファイル:

<?php if (logged_in()) { 
        $account_banned = account_banned();
        while ($banned = mysql_fetch_array($account_banned)) 


         if ($banned['account_banned'] == '1')  {
             $_SESSION['banned']= true; 

              redirect_to("logout.php");  
         } 
       }
?>

logout.php

    <?php

    session_start();
    if(isset($_SESSION['banned'])):?>
    <div class="infobox-noprofile"><strong>Account Banned</strong> - We could not log you in because your account has been banned. If you need to talk to us about this please email <a href="mailto:support@playtimeboys.com">Support@PlaytimeBoys.com.</a></div><div class="infobox-close12"></div>

<?php endif; 
 unset($_SESSION['banned']);
?>
于 2013-02-12T19:12:09.047 に答える