t_form_block, t_form でのセッション情報付加

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

OpenPNEのテンプレートファイル(.tpl)でフォームを出力する場合、t_form_block, t_form などのタグが使われています。
どうやって2種類を使い分けるかは、いまいちよく分かっていませんけど、パソコンの.tplはt_form_block、携帯の.tplはt_formを使っていることが多いようです。
以下、これらのフォーム出力タグでの、セッションIDなど自動的に付加されるhiddenフィールドのまとめ。

({t_form_block m=pc a=page_hoge}) の場合(actionの先がpage_の場合)

<input type="hidden" name="m" value="pc" />
<input type="hidden" name="a" value="page_hoge" />

が自動でフォーム中に付加される。


({t_form_block m=pc a=do_hoge}) の場合(actionの先がdo_の場合)

<input type="hidden" name="m" value="pc" />
<input type="hidden" name="a" value="do_hoge" />
<input type="hidden" name="sessid" value="hogea91df98hoged88hoge4hoge04dad" />

が自動でフォーム中に付加される。


name="a" value="do_hoge" により、フレームワーク中で対象となるアクションを決定する。
do_hoge の場合、モデルでの操作アクションとなるので、ここはDBの変更操作が行われることが多いです。
そのためか、自動的にセッションID情報がhiddenフィールドに追加される仕様となっているみたいです。


携帯の.tplの場合

携帯でformをpostで送信する場合、セッションを次のページに渡すために、以下のように書く。
既存の携帯の.tplファイルは、以下のようになっているものが多い。

({t_form m=ktai a=page_hoge})
<input type="hidden" name="ksid" value="({$PHPSESSID})">

これで、ログイン状態が保持され続ける。
hiddenフィールドをハードコーディングするのはちょっと気持ち悪い感じもしますので、t_form_block が使えないか検査が必要かもしれません。


日時: 2009年01月16日 15:42
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/460

この記事にトラックバックされる方は、参照先が分かるようにするために、「t_form_block, t_form でのセッション情報付加」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - ウェブライフハック