CMSDesignerを部分的に使ったメールフォームを作っているのですが

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
take
記事: 7
登録日時: 2006年3月16日(木) 18:58

CMSDesignerを部分的に使ったメールフォームを作っているのですが

投稿記事 by take » 2006年3月19日(日) 18:31

毎度お世話になります。

CMSDesignerを部分的に使ったメールフォームを作っています。

(セレクトメニューを使った項目をcmsDesignerで更新できるようにしています。)

使用しているのは、無料配布されているCGIのメールフォームで、
入力画面はHTMLで作成します。
この入力フォームをcmsdesigner用に作成したphpに貼り込んで
動かしたら、簡単に動きました。

問題はここからなのですが、メールフォームの「確認画面」に行き、
未入力の必須項目などを入力するためにブラウザのバックボタンや
histry.backなどの戻るボタンで戻ると、入力項目が消えてしまうのです。

入力項目がかなり多いので、クッキーなどを食べさせればいいのか…と色々調べたのですが、phpのcmsdesignerで生成している項目をcgiで読み込めないので、無理かなと思い、phpのメールフォームを探したりいろいろしてみたのですが、
なんともにわかプログラマなので行き詰まっております。

cmsdesignerでもしかしたらメールフォームの作成の仕方などあるのかしらと思い、わらをもつかむ思いで質問してみました。

申し訳ないのですが、できなければ「不可能」ということだけでもはっきり分かると大変助かります。

何卒よろしくお願い致します。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: CMSDesignerを部分的に使ったメールフォームを作っているのですが

投稿記事 by webmaster » 2006年3月19日(日) 22:53

 webmasterです。
 takeさん、ご質問ありがとうございます。

 ご質問の件ですが、基本的にはIEの仕様の為、完全に回避するのは難しい
ようです。
 CMSDの機能には、それを補助する仕組みはございません。m(__)m

 cookieを使う場合には、入力画面のonLoadなどでjavascriptを使って
cookieを読み込み、各入力項目に値を自動入力させる方法となりますが、
プログラミングに慣れていないとなかなか難しいと思います。

 根本的な解決にはならないのですが、以下の対策が比較的ラクに実現
可能かと思います。

・送信確認画面を target="_blank" で別ウィンドウに表示する。
・送信確認画面に「戻る」ではなく「キャンセル」ボタンをつけ、押下時に
 windowを閉じるようにする。
・送信確認画面の「送信」押下時は、サーバーに送信リクエストを送った後、
 親windowをthanks画面へ遷移させ、自分自身は閉じるようにする。

 こんな感じでもいけるかもしれません。

take
記事: 7
登録日時: 2006年3月16日(木) 18:58

ありがとうございます!

投稿記事 by take » 2006年3月20日(月) 10:33

:shock: 目からウロコです!!

別ウィンドウで開く、すばらしいです…プログラミングうんぬん以前の問題で、まったくお恥ずかしいかぎりです :oops:

ありがとうございました! :D

take
記事: 7
登録日時: 2006年3月16日(木) 18:58

すみません、このメールフォームについて追加質問です。

投稿記事 by take » 2006年3月22日(水) 10:03

すみません、お忙しいところ恐縮なのですが、追加で質問です。

このメールフォームはCGI(Perl)なのですが、
「PHPで書き直したほうがセキュリティー上よい」という指摘を
されてしまいました。

なぜそうなのか、詳しくは教えてもらえなかったのですが、そういうことって
あるのでしょうか。
「cmsDesignerで入力項目を自動更新できるようにしたメールフォームは、
PHPで作成した方がよい」
のような?

どうぞよろしくお願い致します。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: すみません、このメールフォームについて追加質問です。

投稿記事 by webmaster » 2006年3月22日(水) 11:05

 webmasterです。

 ご質問の件ですが、今のままで問題ないと思います。

 入力項目は通常HTMLに記述されますが、今回はそのHTMLをPHP(CMSD)
を使って生成している、というだけで、メールフォームCGIから見れば入力画面
がPHPによって作られているのか、Perlによって作られているのかは判別が
つきません。

 そこにセキュリティ上の問題があるとすれば、それはそのメールフォームCGI
の問題であって、たとえPHPで書き直したとしても同じだと思います。

 その方は恐らく、何か別の点について指摘されているのだと思います。

 こんな回答でよろしかったでしょうか。
 また何かありましたら宜しくお願い致します。

take
記事: 7
登録日時: 2006年3月16日(木) 18:58

ありがとうございました。

投稿記事 by take » 2006年3月22日(水) 18:48

的確なご回答、ありがとうございました。

phpで作成し直す必要がないと分かり、安心致しました :)

返信