2006年05月18日

MX Kollectionでメールフォーム @ ウェブ

img1

技術的な自分用メモです。

InterAKTのMX KollectionではメールフォームはJavascriptを使ったチェック機能を持ったフォームを簡単に作る事が出来るサーバービヘイビアが有るのですが、この場合、Javascriptがオフになっていると当然の如く、チェック機能が使えない事になってしまいます。これは実は結構具合悪い事ですし、フォームを一つ用意して、トランザクションを一つ用意したのでは、確認画面が出ないので、この辺もちょっと具合悪い。

で、考えた方法が、入力フォームと確認画面のフォームボタンを用意し、それぞれに対応したカスタムトランザクションを用意。これはデータベースを使わず、メール送信などのトリガーを使う為にカスタムトランザクションを使います。

そのカスタムトランザクションに、メール送信とか、Javascriptを使った必須項目のチェックなどのトリガーを追加します。その他に最後メール送信するタイミング(二つ目のトランザクション)で、名前やメールアドレスの項目をクッキーに保存するカスタムトリガーも追加。その他にThrow Errorも二つ目に追加して、入力必須項目が空の場合にエラーを投げる形にしておきます。確認ページには戻るボタン用にフォームも用意して、非表示フィールドに必要なデータを入れておきます。

順番が前後しますが、最初のフォームを表示する段階でPOSTリクエストの場合は、その中身をセッションに格納して、フォームの初期値に使い、POSTが空の場合は、クッキーのデータを初期値として使います。

クッキーには必要なデータをserializeして格納。読み出しは

$string = stripslashes($_COOKIE['hogehoge']);
$cookie_data = unserialize($string);

こんな感じです。

まだ見直す必要がありそうな気がするので、整理してから細かな事は書きます。もしかすると上手くすれば、もう少しシンプルに出来るかも。メールフォームは一つだけではないので、他のフォームにこの仕組みを移植しつつ検証します。

とまぁ、こんな感じなのですが、おそらくDreamweaverでMX Kollectionを使ってないと意味不明な日記だと思います。使っている人でも、簡単に書きすぎているので、ロジックが分かり難いかも。もしかすると将来自分が読んでも分からない可能性有りです。まぁ、メモなので・・・。(^_^;)

閲覧数: 1982 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト