ECWorks Blog

ECWorks Blog

CakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。

【CakePHP/KtaiLibrary】複数submit設置でセッションキーが消える!?

icon_ktaisession.use_trans_sidがらみでまた問題が確認されました。

これは大変に不思議なことなのですが、フォーム内に複数のsubmitを設置したい場合があると思うのですが、この場合にどちらか片方(おそらく最後にあるもの「以外」のもの)を押した場合、クエリストリング中のセッションキーが消えてしまう、という現象に遭遇しています。submitが一つだけ存在する場合、もしくは最後のsubmitを押した場合は問題がないのです。

つまり、携帯サイトの場合、docomo携帯で一部フォームで正常に動かなくなる事態に遭遇する、というわけです。

いろいろなケースで試してみたのですが、結局分からず。
最終手段として、「url_rewriter.tags」を変更することで、セッションキーが継続され、問題解決ができました。
具体的には、Ktai Libraryの「app/config/ktai_session.php」の末尾にある設定箇所を変更します。


//formの場合の設定を変更
//    ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=');
ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,form=action,fieldset=');

ところで、「fakeentry」というパラメータはなんなんでしょうかね?
これはデフォルトのPHP設定なのですが。
なぜ「action」ではないのか、私には分かりません。

この件に関しては、ライブラリの修正はちょっと待って、しばらく様子を見ようと思います。
ちょっと変更することによる影響が分かりませんので。
問題ないようなら更新したいと思います。


Tagged as: , , , ,

Comments are closed.