私は、セッション変数に含まれるフィードバックメッセージも表示する現在の管理者ログイン情報を表示する機能を持っています。セッション変数を返す方法と、次のリフレッシュ時にレンダリングした後に直ちにクリアする方法はありますか?
セッション変数が表示された後に直にヌルに設定されるように設定しました。
function loginInfo()
{
$code .= 'You are logged in as bob.';
$code .= 'msg:'.$_SESSION['msg'];
$_SESSION['msg'] = null;
return $code;
}
function breadCrumbs($section = '')
{
$html .= $this->loginInfo();
$html .= '<h1><a href="/admin">Dashboard</a> > '.$section.'</h1>';
return $html;
}
function dashboard()
{
$html .= $this->breadCrumbs('');
$html .= '<ul>';
$html .= etc..
}
-----------
$_SESSION['msg'] = 'message here';
header(Redirect "/admin");
exit();
その後、ダッシュボード機能は、新しいページに呼び出されます。しかし、実装では、私は、変数を表示する機能がそうのようにそれを表示しています。
echo $admin->dashboard();
上記の値は常にnullを返します。戻り値から$コードが表示される前に関数内でnullに変更されているためです。
どうすればこの問題を回避できますか?
あなたのコードを取得しますそれ自体は正しいです。問題はどこかにあるはずです。 (PHPは遅延評価がありません。セッション変数の古い値で$ codeを構築してからnullに設定します)。 – NikiC
これはうまくいきません。変数をnullに設定します。私はクラスの残りの部分をおそらく含めます。 – Nicekiwi