にハッシュを追加したときに動作を停止し、なぜこのZendの例では、私はこの例のチュートリアル以下だ形
プロジェクトコード:http://akrabat.com/wp-content/uploads/zf-tutorial-layoutform.zip
チュートリアル:http://akrabat.com/zend-framework/a-form-in-your-layout/
プロジェクトコード予想されるように動作します、フォームにハッシュ要素を追加するまで私がしているのは、このコードをapplication/forms/Signup.phpのフォームに追加することです。
$hash = new Zend_Form_Element_Hash('hash');
$hash->setSalt('mysalt');
$this->addElement($hash);
この余分なコードは、すべてのものをオフにします。今すぐフォームを送信すると、2つのトークンが一致しないというエラーが表示されます。
いくつかのトラブルシューティング:それは私の他の例では正常に動作しますので、
- 問題はハッシュ自体ではありません。
- この例ではリクエストの処理方法と関係がありますが、問題が正確であるかどうかはわかりません。私はそれがホップ数と関係があると思ったが、Zend_Form_Element_Hashを編集してホップ数を1から100に変更したところ、同じエラーが出た。
これは、私がZendの専門知識レベルで考えることができるトラブルシューティングの程度です。だから、大きな頭脳に尋ねる時だと思った。私は誰かがそれを理解できることを望んでいる。
ハッシュ要素が問題になるかもしれないzend_sessionを利用しているため。確認するもう1つの点は、ハッシュが1ホップ後(またはタイムアウト後)に期限切れになるまで、検証までホップである可能性があります。 – Fge
いいえ、それはハードコードされています。しかし、セッションの内容とサブミットされたフォームデータを比較したいかもしれません。 ($ _SESSION vs $ _POST)、デバッグ用のリダイレクトを削除します。 – Fge
直接ではありません。しかし、あなたのブラウザバーが何か他のものを表示してからフォームターゲットを表示すると、それ以上のものになります。しかし、リダイレクトしない場合は、$ _SESSION/$ _ POSTを確認する必要があります。 – Fge