• 締切済み

フォームメール確認画面から戻るためには?

perlを使って申込みフォームを作っています。ファイルとしてはa.htmlを使ってまずフォーム入力欄を作りました。 そこからa.cgiに飛ばして確認画面を作りました。そこからが問題です。もう一つamail.cgiを作りそこにいった時点で指定メールに送るように作ってあります。 しかしa.cgiで入力項目を確認してもらった時に入力項目が間違っていた場合に戻るボタンを設けなければいけませんが、戻るボタンでどのようにa.htmlにもどせばいよいのか解りません。 具体的にどのようなソースを使えば良いのか解らないのでどうか教えて頂けないでしょうか? お願します。

  • aeic
  • お礼率10% (60/582)
  • CGI
  • 回答数3
  • ありがとう数0

みんなの回答

  • lucky111
  • ベストアンサー率30% (75/244)
回答No.3

↓の回答とかぶるだけかも知れませんが、タグを書きます。 私は、エラーが出たら、 <a href="javascript:history.back()"><b>戻る</b></a> と置いて、戻ってもらってます。これだと、戻ってもフォームに入力したことは、passwordタグ以外は消えてないので、便利です。 「戻る」を利用しない場合には、フォーム自体をプログラムで表示させるようにして、エラーが出たら、入力フォームと一緒にエラー表示させる手もあります。 メジャーなサイトはよくこの手を使ってるようです。

  • makito
  • ベストアンサー率21% (3/14)
回答No.2

私もそのようなページを作った事がありますが、やはりブラウザの戻るボタンや sightさんのおっしゃっているようなJavaScriptを使う方法(戻るボタンと同じ) で解決?しました。 一部ブラウザでは、どうやら戻るボタンでは 内容が保持されないものもあるようです。 IE5.5を使っていますが、パスワード欄以外は保持するようです。 どうしてもやりたいなら、やはりCGIでフォームも作ってしまうのが 一番手っ取りばやいのではないでしょうか?

  • sight
  • ベストアンサー率53% (199/370)
回答No.1

これは、「入力確認だから、修正させるために戻ったときに、一度入力させたデータは保持したまま戻したいけれど、a.htmlはCGIで動的に作成されたページでないので、a.cgiからふつうにリンクを張ってしまうと入力したデータはなくなってしまう!」という意味でしょうか? そうだとしたら、a.htmlもCGIで作る、というのが一番いいのでしょうが、*.htmlのまま残すのでしたら、事前の策はa.cgiの中の戻るボタンは、JavaScriptのhistory.back()でブラウザのボタンと同様な動作をさせて戻らせる、ということですかね?

関連するQ&A

  • メールフォームでの確認画面の表示方法

    お世話になっております。 htmlフォームで入力->cgi経由で確認->指定の宛先にフォーム送信と同時に.txtファイルに書込み というメールフォームを作成しているのですが、確認画面に関する以下の2点で困っています。 1)以下は省略していますが実際は確認項目が多いので、cgiにhtmlを書くのではなくconfirm.htmlという別のファイルを読み出して値だけを渡して確認を行いたいが上手く読み出せない。 2)確認画面から送信ボタンを押すと必須項目の入力がないとエラーが返ってくる。 1)に関して sub confirmを以下のように変えてみたのですが、なかなか読み込まれずそのままサーバエラーの表示が出てしまいました。 sub confirm{ my($code); $code = $form{'mode'}; open(CONF,"confirm.html"); while (CONF){ s/REPLACEKEY/$code/; print; } close(CONF); exit; }

    • 締切済み
    • CGI
  • フォームの確認画面について

    お世話になります。 現在アンケートフォームを作成し、そのデータをtxtファイルに保存するというプログラムを作成しました。そこでフォームに入力された確認画面を表示させ、確認画面で送信ボタンを押すと、データが蓄積されるプログラムに変えたいと思ってます。 今現在はフォームはhtml cgiはperlで作成してます。 実際にどのようにすればいいかが分かりません。 フォーム(html)→確認用フォーム(cgi)→蓄積用cgiという流れでいいのでしょうか? また、確認用のフォームには戻るボタンを作りたいのですが、戻った時に、入力したデータは保持しときたいのですが。 よろしくお願いいたします。 データ蓄積用cgiプログラム #! /usr/bin/perl require './cgi-lib.pl'; $answer = 31; $ansfile = "/tesuto.txt"; &ReadParse(*in); $name = "てすと"; for($n = 1; $n <= $answer; $n++ ) { $no[$n] = $in{"no$n"}; } open (FILE,">>$ansfile"); flock (FILE,2); print (FILE "\"", $name); for($i = 1; $i <= $answer; $i++ ) { $no[$i] =~ s/\"/""/g; print FILE "\"\,\""; print FILE $no[$i]; } print FILE "\"\n"; flock(FILE,8); close(FILE); print "Content-type: text/plain\n\n"; print "<HTML><BODY>\n"; print "<META http-equiv=\"refresh\" content=\"0;URL=http://○○○.html\">\n"; print "</body></HTML>"; exit;

    • ベストアンサー
    • CGI
  • 確認画面

    例えばフォームなどでデータを入力してもらってそれを確認後に、最終的にボタンを押すと入力完了、としたいのですが、 今現在は入力するためのファイル(nyuuryoku1.cgi)、確認を出すファイル(nyuuryoku2.cgi)、最終的に入力するファイル(nyuuryoku3.cgi)と 3つを使っています。 これを1つにまとめることはできないのでしょうか? 何かよい方法あったら教えてください。 #perlです。

    • ベストアンサー
    • CGI
  • フォーム入力後の確認画面表示について

    こんにちは。tyabudaiと申します。 よろしくお願いします。 現在、私のサイトでCGIを使って投稿するフォームを作成しています。 流れは以下のようなものです。 1.フォームに内容を入力、送信ボタンでCGI起動。 (以下CGI) 2.入力内容をサーバのファイルに書込む。 3.送信完了のメッセージを表示 そして今、1と2の間に確認画面を表示する処理を 追加したいのですが、どのような処理にするのでしょうか? ソースについては勉強しますので、大まかな流れを教えて いただけないでしょうか?

    • ベストアンサー
    • CGI
  • フォームメール確認画面ありのロジック

    はじめまして。 よろしくお願いします。 Perlの勉強を始めたばかりの初心者です。 自作のCGI(Perl)でフォームメールを作成しようとしています。 1.フォームに必要事項を入力 2.確認画面で確認 3.OKならメール送信 ※自分と フォームから入力してもらったアドレスへ2通 1から2へは フォームからのデータ受取 変換 受け取ったデータを含むHTMLの作成。 でできると思うのですが、 2から3へは皆さんどのようなロジックを使っていらっしゃるんでしょうか? 私は1から2へのHTMLの作成の際に Hiddenでメール送信したい内容を隠し持たせてから、 2の画面でのSubmitの時に隠し持たせた内容をメール送信すれば良いのかな? と思っているのですが、 他にどのような方法があるのか(使ってらっしゃるのか)教えて頂きたいのです。 また、上記の方法に対する良し悪しなどもご指摘頂けますと とても助かります。 足りないところは補足致します。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 気軽に送れるメールフォーム作成について

    サイトに設置するメールフォームについて質問します。 説明が下手なのでわかりにくいかも; ●名前・メッセージだけの簡単なフォームを作りたい ●名前欄は入力してもしなくても送信できる ●レイアウトがHTMLで加工できると嬉しい ●確認画面が出るものがいい 以上が希望です。 実際にKent-webさんの所からフォームメールのCGIをDLし解らなかったこと↓ ●HTMLでサンプルについていたラジオボタンやメール入力欄などの<input~ />というタグは外しました。 ↓ それでテスト送信してみると、確認画面で削除した項目の「○○は入力必須です。」と表示されます。 name値の先頭に「アンダーバー 」を付けると、その入力値は「入力必須」となる、とはあったのですが、項目ごと削除しても出てくるのです。 何故でしょう・・・; cgiファイルの中にあるのかな、と思って探してみても情けないことによく解りませんでした。 他に何か触るところはありますか? サーバーエラーはないので何かが足りていないような気がします・・・。 以上の事、お分かりになる方がいらっしゃいましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • フォームメール確認後の戻るについて

    教えてgooのNo.130269にも同様な質問があるのですが、教えてください。 htmlで作成した入力画面(フォーム)からcgi(perlで作成)で確認画面に行き、内容修正のための戻るボタンを設置しているのですが、戻るボタンを押すと、入力画面に戻っても、入力した内容が保持されないのですが、内容を保持する方法があれば教えてください。また、補足等が必要であればご連絡下さい。 私の使っているブラウザはIE5.5です。 確認画面では以下の両方のコードでだめでした。 <input type="button" value="内容を変更する" onclick="history.back()"> <a href="javascript:history.back()">内容を変更する</a>

    • 締切済み
    • CGI
  • メールフォームの確認画面の表示について

    ホームページにメールフォームを設置しているのですが、入力項目が多く内容確認ボタンがページの下の方にあるためか、内容確認ボタンを押して確認画面が表示されると、真っ白な状態になってしまいます(ページの下の方が表示されるため。上にスクロールすると確認画面が現れます。) そこで、内容確認ボタンを押してページが切り替わった時にそのページの一番上の位置が表示されるような設定方法を教えていただければと思います。 ちなみにメールフォームは有料のフォームズです。 どうぞ宜しくお願いいたします。

  • メールフォームのプログラム設定について

    メールフォームの設定で困っています。ウィーバーで作ったフォームで訪問者が送信ボタンをクリックするとその内容が指定のメールアドレスに届くようにしたくてpostmailを入手しました。書籍に書かれている通りに編集しメールフォームのhtmlファイルのアクションに指定しました。確認作業をしてみると送信ボタンを押すとpostmail cgiのコード画面が表示されてしまいます。レンタルサーバーを使用していますが、そちらのサーバーの仕様を調べperlパス、sendmailパスを入力しています。パソコンはマックです。ネットでも色々検索してみたのですが初歩的すぎるのかそこまで詳しくは書かれていずこちらで質問させて頂きました。どなたかお教え頂けたらありがたいです。よろしくお願い致します。

    • 締切済み
    • CSS
  • 入力フォームの確認画面からの「戻る」について

    過去の質問とか参照して同じような件が出てくるのですが、今ひとつはっきりしないところがあるので質問させていただきました。 HTMLでアンケートなどの入力フォームを作り、送信ボタンのクリックでCGI(Perl)にて「確認画面」or「必須項目のエラーページ」を表示させているのですが、修正のために戻るボタンをクリックすると入力フォームで入力した情報がクリアされて、再度初めから入力しないといけません。これはブラウザの問題(?)によるところのようですが、その1台のマシンだけではなく、他のマシンとかで試してみると、入力情報がそのまま残って戻れる場合もあるようです。情報がクリアされる場合は再度そのページを読み込みに行っているからで初期化された状態になるそうです。 そこらへんを踏まえて以下4点回答を頂きたいのですが、 (1)戻るボタンで入力情報がクリアされてしまうのはプログラムで情報を保持したりしない限り防ぐことが出来ないのか? (2)入力情報がそのまま残って表示される場合とはどういう状態・設定の時なのか? (3)全てはブラウザの環境に起因しているものなのか? (4)Netscapeはどうなのか? 的確にお答え頂けると非常に助かります。 ※以上の動作を確認しているブラウザは全てIEで、バージョンは5.5もしくは6です。

    • ベストアンサー
    • CGI

専門家に質問してみよう