0
奇妙なことに、私はChromeでのみ発生するセッションに問題があります。 $ _GETからのキーワードは3文字未満の場合 - - $でメッセージを保存Chromeでセッションが正常に動作しない
public function search()
{
$keyWord = htmlspecialchars(strip_tags($this->get['keyword']));
if(mb_strlen($keyWord) < 3){
$this->flashMessage->warning('keyword is too short');
redirect(SITE_ADDR . '/forum');
}
......
}
プレーンでシンプル:私は、コントローラのメソッドsearch
を持って
:ここ
はシナリオです_SESSIONとリダイレクト。しかし、検索ページ(例:site.com/forum/search/?keyword=fff
)($ _GETに3文字があることに注意してください)をすばやくリフレッシュすると、エラーメッセージはランダムに設定されますが、リダイレクト機能は呼び出されません。
exit();
を
$this->flashMessage->warning
の直後に挿入してスクリプトを停止しようとしましたが、スクリプトは問題なく停止しましたが、リダイレクト機能は呼び出されません。 1文字または2文字の場合、リダイレクトに問題はありません。エラーメッセージがセッションに設定されていない場合でも、3文字以上の文字のみ。
これはChromeでのみ発生します。私はFirefoxとOperaを試してみましたが、そのような問題はありませんでした。シークレットで試しましたが、何も変わりませんでした。誰もがなぜこのようなことが起こっているのか考えていますか?
フレームワークなどを使用していません。
よりも硬い他のその種がちょうど推測するので、まあ、私は、PHP SESSIONとは何かを持っている任意のコード提示を見ていませんよ。また、設定しないと警告をクリアするコードはここには表示されていません(一度設定すると、クリアするかセッションが終了するまで設定されたままになります)。より多くを提供してください。 – IncredibleHat
私はなぜ私の2番目の記事をご覧ください。 – djkhalen