symfony1.4でflashの値が削除される現象が発生しました(他バージョンでは不明) redirectで遷移した場合には保持できているのにリンクなどで遷移するとflashが削除されていました Attributeの値は保持されているのでセッションが切断されていないことはすぐわかったのですが何故か画面表示後のリンククリックなどでの遷移でのみ発生 なぜ発生するのか過程は調査していませんがテンプレートにimgタグのリンク先を間違えているためでした 推測ですがimgのリンク先が誤っていた場合.htaccessによりフロントコントローラーに処理が渡され遷移として処理されるためにFlashがクリアされてる予感 ※このエラー原因特定までにすごい時間かかりました'・ω・`)
Symfonyには、setFlashというセッションデータを一度きり利用するための関数が用意されています。 setFlashでセットしたセッションデータは、getFlash関数で取り出し可能ですが、getFlashを一度呼び出すとそのセッション情報は削除されてしまい、再び取り出すことができなくなります。 これの何が便利って、例えばページをリロードされたく無いような場合とか、入力・確認・完了画面へ遷移するような場合に、確認画面でsetFlashした情報を一度だけ完了画面でgetFlashできるので、完了画面遷移後に確認画面へ戻り再度サブミットされ、同じデータが登録されてしまうというような誤操作を防止するというような事ができたりします。 で、そのsetFlashをしたはずのセッション情報が何故かgetFlashする前に消えてしまっているという現象が発生しました。 その時の対処方法をメモしておき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く