アプリ版:「スタンプのみでお礼する」機能のリリースについて

色々調べているのですが、解決が出来ないので何か同じ事象が起こっている方、解決策の糸口をご教授頂けませんか。

現在、symfony1.4にてフォームを作成しています。
sfFormを継承したクラスでフォームを作成し、バリデーションを実装しました。
そうすると、他のバリデーションは特に問題なく作動しているのですが、
「 csrf token: 必須項目です。」
と、csfrの必須エラーとなってしまいます。
template側では
<?php echo $form['_csrf_token']->render(); ?>
<?php echo $form['_csrf_token']->renderRow(); ?>
<?php echo $form->renderHiddenFields() ?>
<?php echo $form ; ?>

などで出力してみたのですが、いずれも下記のように
<input type="hidden" name="club[_csrf_token]" id="club__csrf_token" />
value値に値が入らないのです。

これは、何が原因なのでしょうか?

ご存知の方がいらっしゃいましたら、
ご教授頂けると助かります。

以上です。
宜しくお願い致します。

A 回答 (2件)

もう解決済かもしれませんが



actions.class.php にて
--------------------------
$this->form->getCSRFToken();
--------------------------

とすると解決するみたいです。

私の場合は、即反映しなかったのでキャッシュクリアかなにか必要かもですが。
本件で解決できました。

-------------------------------------------------
in my case i solved it adding:
$this->form->getCSRFToken(); //in my action.class function
<?php echo $form['_csrf_token']->render(); ?> //in my template
--------------------------------------------------

参考URL:http://oldforum.symfony-project.org/index.php/t/ …
    • good
    • 0
この回答へのお礼

ご指摘の通り行ったところ、うまくいきました!
とても困っていたので大変助かりました。
ありがとうございました!

お礼日時:2011/04/15 16:26

symfonyはきちんと使ったことがないんですが、



少し調べてみたところ、下記のような記事がありました。
http://blog.asial.co.jp/604

config/settings.ymlファイル当たりに、

all:
.settings:
csrf_secret: myUniqueSecret

といった記述を書く必要があるようですが、いかがですか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

> onfig/settings.ymlファイル当たりに、
> all:
> .settings:
> csrf_secret: myUniqueSecret

こちらは設定してあります。
設定していないと
<input type="hidden" name="club[_csrf_token]" id="club__csrf_token" />
のhiddenのタグも生成されないのですが、
私の場合はhiddenタグは生成されるのですが
value値に値が設定されないという現象で悩んでおります。

宜しくお願い致します。

お礼日時:2011/03/16 09:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!