$_SESSION からメッセージをフェッチしてユーザーに表示する header.php に次のコードがあります。コントローラーで「メッセージ」セッション変数を設定します。
<div id="messages">
<?php if (isset($_SESSION["message"])):?>
<span class="message"> <?php echo "message is ".$_SESSION["message"]?>
</span>
<?php endif ?>
</div>
これは正常に機能し、メッセージが表示されます。ここで、「メッセージ」変数をセッションから削除して、1 つのリクエストでのみ呼び出されるようにしたいので、行 unset($_SESSION["message"]); を追加します。コードは次のようになります。
<div id="messages">
<?php if (isset($_SESSION["message"])):?>
<span class="message"> <?php echo "message is ".$_SESSION["message"]?>
</span>
<?php
unset($_SESSION["message"]);
else :
//for debugging
echo "There is no message";
endif
?>
</div>
現在、メッセージは常に出力されず、代わりに「メッセージはありません」が常に出力されます!! このunset($_SESSION["message"]);
行を削除したときに言ったように、メッセージ変数は正しく設定されており、メッセージが表示されます。
ところで、私はフレームワークを使用しておらず、単純な php を使用しています。助けはありますか?