1

私はケーキに不慣れで、イベントが保存された後にリダイレクトする関数を取得しようとしています。それは他のコード、たとえばユーザーでは機能しますが、イベントでは機能しません。

関数はイベントを保存します、それはただそれがリダイレクトするか、SETFLASHを使用しません

これが私のイベントコントローラー追加機能のコードです:

public function add() {
        if ($this->request->is('post')) {
            $this->Event->create();
            if ($this->Event->save($this->request->data)) {
                $this->Session->setFlash(__('The event has been saved'));
                $this->redirect(array('action' => 'eventmanage'));
            } else {
                $this->Session->setFlash(__('The event could not be saved. Please, contact the administrator.'));
            }
        }
    }

どんな助けでも大いに感謝します!

4

3 に答える 3

5

最も可能性の高い原因は、リダイレクトヘッダーが送信される前に、アプリケーションがデータを出力していることです。

<?phpタグの前、終了タグの後にスペースがあるかどうか?>(phpのみのファイルではとにかくそれらを削除する必要があります)、またはファイルにutf-8BOMなどが含まれているかどうかを確認します。

これは、firebugまたはChromewebinspector内の応答を調べることで確認できる場合があります

于 2013-03-01T21:08:41.690 に答える
0

コメントを追加したかったのですが、まだできませんでした。

リダイレクトを妨げているデータを出力しているファイルがどれであるか疑問に思っている場合は、非常に徹底する必要があります。

私の場合、リダイレクトしたいビュー(見つけるのはそれほど明白ではありません)からモデルに入れたコメント(htmlコメント)と同じくらい明らかに無害なものでした。リダイレクトされないこの空白のページは、改行またはスペースのように単純で、<?php ?>両方を見つけるのが非常に困難であり、両方がリダイレクトを妨げる可能性があります。

この問題が発生している場合は、私のヒントがお役に立てば幸いです。

于 2014-04-15T07:39:00.420 に答える
0

フィルター機能の前にこれを使用してください

 header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // // HTTP/1.1
    header("Pragma: no-cache");
于 2015-11-19T11:11:15.630 に答える