アンケートフォーム複数ページのテキストフォームデータ受け渡し

このQ&Aのポイント
  • アンケートフォーム複数ページ間でのテキストフォームデータの受け渡しについてアドバイスをお願いします。
  • 1ページ目の名前のテキストフォームに入力した内容と2ページ目のメールアドレスのテキストフォームに入力したデータを確認画面に表示させたいですが、うまくいきません。
  • 現在のソースコードでは、データの受け渡しをうまく確認画面に表示することができません。詳しい方からのアドバイスをお待ちしています。
回答を見る
  • ベストアンサー

アンケートフォーム複数ページ間のテキストフォームデータのの受け渡し

こんにちわ、1ページ目の名前のテキストフォームに入力した内容のデータと2ページ目のメールアドレスのテキストフォームに入力したデータをのデータを確認画面で表示させたいのですがうまくできません。わらをもすがる思いでここに書きました。 1ページ目 名前を入力 2ページ目 メールアドレスを入力 3ページ目 確認画面 4ページ目 サンクスページ わたしが書いたソースは以下のとおりです。。 どうしてもデータをうまく確認画面にもっていくことができませんよろしければ詳しい方、アドバイスをお願いいたします。よろしくお願いします! ※ここの文字数制限が800文字なのでかなり省略化しています。 if ($FORM{'action'} eq "page2") {&page2;} elsif ($FORM{'action'} eq "") {&page1;} elsif ($FORM{'action'} eq "kakunin") {&kakunin;} elsif ($FORM{'action'} eq "kanryou") {&kanryou;} #1ページ目 sub page1{ print <<"EOF"; Content-type: text/html <html> <head> <meta content="text/html; charset=shift_jis"> </head> <body> <form method="post" action="$script"> □お名前(漢字)<br> <input type="text" size="12" name="name1" value="$FORM{'name1'}" > <input type="hidden" name="name1" value="$name1"> <input type="hidden" name="action" value="page2"> <input type="submit" value="次へ"> </form> </body> </html> EOF exit; } #2ページ目 sub page2{ 文字数制限のため省略 メールアドレス } #■フォームのデコード処理 sub decode{ 文字数制限のため省略 } #確認画面 sub kakunin{ 文字数制限のため省略 } #送信完了画面 sub kanryou{ 文字数制限のため省略 }

  • Perl
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

1ページ目で <input type="text" size="12" name="name1" value="$FORM{'name1'}" > <input type="hidden" name="name1" value="$name1"> と、name1 が二つあるのがおかしいです。 あとは2ページ目以降を見ないと何ともいえません。

maiko_0001
質問者

補足

いいえ、下のほうはデータを送るためのhiddenタグなので、name1がふたつあってもおかしくありません。

関連するQ&A

  • アンケートフォーム複数ページ間のテキストフォームデータのの受け渡し

    こんにちわ、1ページ目の名前のテキストフォームに入力した内容のデータと2ページ目のメールアドレスのテキストフォームに入力したデータをのデータを確認画面で表示させたいのですがうまくできません。わらをもすがる思いでここに書きました。 1ページ目 名前を入力 2ページ目 メールアドレスを入力 3ページ目 確認画面 4ページ目 サンクスページ わたしが書いたソースは以下のとおりです。。 どうしてもデータをうまく確認画面にもっていくことができませんよろしければ詳しい方、アドバイスをお願いいたします。よろしくお願いします! ※ここの文字数制限が800文字なのでかなり省略化しています。 if ($FORM{'action'} eq "page2") {&page2;} elsif ($FORM{'action'} eq "") {&page1;} elsif ($FORM{'action'} eq "kakunin") {&kakunin;} elsif ($FORM{'action'} eq "kanryou") {&kanryou;} #1ページ目 sub page1{ print <<"EOF"; Content-type: text/html <html> <head> <meta content="text/html; charset=shift_jis"> </head> <body> <form method="post" action="$script"> □お名前(漢字)<br> <input type="text" size="12" name="name1" value="$FORM{'name1'}" > <input type="hidden" name="name1" value="$name1"> <input type="hidden" name="action" value="page2"> <input type="submit" value="次へ"> </form> </body> </html> EOF exit; } #2ページ目 sub page2{ 文字数制限のため省略 メールアドレス } #■フォームのデコード処理 sub decode{ 文字数制限のため省略 } #確認画面 sub kakunin{ 文字数制限のため省略 } #送信完了画面 sub kanryou{ 文字数制限のため省略 }

    • ベストアンサー
    • CGI
  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
  • 複数フォームのデータ渡しについて

    http://okwave.jp/qa2522271.html で質問したのですが、質問内容が若干変更なりましたので、またご教授頂けたらありがたいです。 現在のコード <script language="JavaScript"> function send(v,fname){ var f=document.forms[fname]; f.botan.value=v; f.submit(); } </script> <form name="Form1" action="tesuto1.php" > <input type="hidden" name="botan"> 中略 </form> <form name="Form2" action="tesuto2.php" > <input type="hidden" name="botan"> 中略 </form> <form name="Form2" action="tesuto3.php" > <input type="hidden" name="botan"> 中略 </form> <form> <input type="button" value="送信" onClick="send(this.value,'Form1')"> <input type="button" value="取消" onClick="send(this.value,'Form2')"> <input type="button" value="確認" onClick="send(this.value,'Form1')"> </form> 前回と違うのは送信ボタンをクリックしたときに、どのボタンがクリックされたのかを判別して(ここは同じです)form1とform3のデータを渡したいのですが。 よろしくお願いします。

  • 同一ページの複数のフォーム通信

    お世話になります。 <form method='POST' action='#1'> <input name='text1'> <input name='text2'> <form method='POST' action='#2'> <input name='text3'> <input method='submit' value='B'> </form> <input method='submit' value='A'> </form> Aにて text1,2,3を#1へ送信 Bにて text3を#2へ送信 したいのですが、上手くできません。 <form></form>で囲まれている中に 更に<form></form>する事はできないのでしょうか? 代替案はありますか?? よろしくお願いします。

  • テキストリンクでデータの受け渡し。

    PHPの勉強中で、参考書を見ながらショッピングサイトを作成しています。 カテゴリ別に表示したいと思い、データベースに商品の登録をし、 WEBページでカテゴリでの絞込みをしたいのですがうまくいきません。 以下のような、ラジオボタ形式では上手く動きました。 <form method="post" action="hoge.php" enctype="multipart/form-data"> 商品カテゴリーを選択してください。<br> <label><input type="radio" name="category" value="0">0</label> <label><input type="radio" name="category" value="1">1</label> <label><input type="radio" name="category" value="2">2</label> <input type="submit" value="確認"> </form> ラジオボタンでも、確認ボタンを押さなくても、 テキストをクリックすれば受け渡し先のページに飛ぶ形式ならいいのですが。。。 以下のテキストリンクの場合だと、一番下の値しか飛んでくれず、困っています。 <form name="category" action="hoge.php" method="post"> <input type="hidden" name="category" value="1"> <input type="hidden" name="category" value="2"> <a href="javascript:void(0)" onclick="document.category.value='1'; document.category.submit(); return false;">1</a> <a href="javascript:void(0)" onclick="document.category.value='2'; document.category.submit(); return false;">2</a> </form> どなたか詳しい方、ご回答をお願いします。

    • ベストアンサー
    • PHP
  • cgiログデータ入力

    下記のようなものを作成しました。 if ($FORM{'WORD'} eq 'フォーム'){ &form; } elsif($FORM{'WORD'} eq '確認'){ &kakunin; } elsif($FORM{'WORD'} eq '入力'){ &nyuuryoku; } sub kakunin{ print "<FORM METHOD=POST ACTION=top_nyuuryoku1.cgi>\n"; print "<TABLE CLASS=TABLE2 CELLSPACING=0 CELLPADDING=2>\n"; print "<TR><TD WIDTH=80 CLASS=TD1>社員番号</TD><TD CLASS=TD2>$FORM{'BANGOU'}<INPUT TYPE=HIDDEN NAME=BANGOU VALUE=$FORM{'BANGOU'}></TD></TR>\n"; print "<TR><TD WIDTH=80 VALIGN=TOP CLASS=TD1>本文</TD><TD CLASS=TD2>$FORM{'NAKAMI'}</TD><INPUT TYPE=HIDDEN NAME=NAKAMI VALUE=$FORM{'NAKAMI'}></TR>\n"; print "</TABLE>\n"; print "<BR>と入力されました。これでよければボタンを押してください。<BR><BR>\n"; print "<INPUT TYPE=HIDDEN NAME=WORD VALUE=入力>\n"; print "  <INPUT TYPE=SUBMIT CLASS=BUTTON VALUE=入力>\n"; print "</FORM>\n"; } sub nyuuryoku{ print "入力しました。<BR>\n"; print "<A HREF='top.cgi'>戻る</A>\n"; open (FILE,">>top.log"); flock(FILE,2); @FILES = "$buffer\n"; print FILE @FILES; flock(FILE,8); close(FILE); } ※多少省略あり。 ※$bufferはこれの前のページから受け取ったもの。 kakuninのところの$FORM{'NAKAMI'}ではちゃんと半角スペースや改行が認識されていますが、nyuuryokuになるとだめです。 一体何が原因なのでしょうか?

    • ベストアンサー
    • CGI
  • 改めて・一つのページに複数のフォームメール

    具体性に欠いて、お答えにくかった質問を取り下げ、改めて質問させていただきます。 一つのページにメールフォームのcgiを2つ、組み込んでいます。 ------------------------- <FORM method="post" action="formmailer-theme.cgi"> <CENTER><input type="text" name="coment2" size="15"><input type="submit" value="送信"><input type="reset" value="リセット"> </CENTER> </FORM> ・ ・ ・ <FORM method="post" action="formmailer.cgi"> <CENTER><input type="text" name="coment" size="15"><input type="submit" value="送信"><input type="reset" value="リセット"> </CENTER> </FORM> ----------------------------------- 原文をコピーしました。 上のフォームでは正常に送信できるのですが、下のフォームではなぜか上で使われている「formmailer-theme.cgi」を呼び出し、必須と設定している"coment2"の入力を求めるエラーが返ってきます。 それぞれをformで囲っているのですが… 間違いありますでしょうか? また、不足している質問内容はありますでしょうか?

    • ベストアンサー
    • CGI
  • 複数のテキストフォームに対しての出力

    javascriptを勉強中であり、至らぬ点があるかと思いますが質問させてください。 あるhtmlページに複数のテキストフォームがあり、そこにjavascript で for 文を使い 定型文の後に追番を付加したテキストを出力(表示)させたいと思っています。 個別のテキストフォームには出力ができるのですが、複数の指定となると イマイチわかりませんでした… (正しく動作しませんでした) 私の記述が悪いとは思いますが、どのように記述すればよいでしょうか? 知見をお借りできればと思います。 よろしくお願いいたします。 【希望】 サンプル1  テスト1 サンプル2  テスト2 サンプル3  テスト3 上記 ちなみに以下が抜粋構文です。 【html】 <input type="button" value="テストボタン" onclick="myTest()">   ←ここを押すとプログラム -省略- <form name="myForm1"> サンプル1  <input type="text" size="30" name="form1" value="" readonly><br> サンプル2  <input type="text" size="30" name="form2" value="" readonly><br> サンプル3  <input type="text" size="30" name="form3" value="" readonly><br> <input type="reset" value="クリア"> </form> 【javascript】 function myTest() { for (num = 1; num <=3; num++) { // document.myForm1.form1.value = "テスト" + num ; だったら表示できる document.myForm1.form[num].value = "テスト" + num ; } } ※「form[num]」の部分が悪いとは思っていますが…

  • 特殊文字を含むフォームデータの受け渡し

    HTML+PHPでフォームを作っているのですが、 フォーム内のtextareaに特殊文字を含んだ場合に、フォームデータが全て渡って来ない場合があります。 このような現象の原因、対処法等ご存知の方がおりましたら、ぜひともご教授ください。 以下、現象の詳細です。-------------------------------- ・ccccの中に特殊文字(&trade;が文字参照になってない状態等)が入っている状態でsubmitすると、aaaaがPOST変数に入っていない。 ・valueの値が入ってないのではなく、aaaa自体が存在しません。 ・同様に書いているいくつかのフォームでも発生するものとしないものがある ---フォーム--- <form method="post" enctype="multipart/form-data" action="test.php"> <input type="hidden" name="aaaa" value="aaaa"> <input type="hidden" name="bbbb" value="bbbb"> <textarea name="cccc"> ---test.php--- 先頭で$_POSTをprintしてます。

    • 締切済み
    • PHP
  • アンケートフォームの作り方

    アンケートフォームを作りたいのですが、以下のプログラムにおいてのoutput.php の作り方がわかりません。最終的には、アンケート結果を出力(最後の質問の見る回数に関しては、これまでの平均をだす)をしたいとおもっています。http://www.standpower.com/php_form.htmlを参考にしてつくってみたもののうまくいきません。というのも、そのページに書かれている質問は1つしかないので、今回のように3つ質問があるとどうすればいいのかわからないからです。どなたか教えていただけないでしょうか? <html> <body> <b>あなたの年齢を教えてください</b> <form method = "post" action = "output.php"><br> <input type = "radio" name = "toshi" value = "1" checked>10代<br> <input type = "radio" name = "toshi" value = "2" >20代<br> <input type = "radio" name = "toshi" value = "3" >30代<br> <input type = "radio" name = "toshi" value = "4" >40代<br> <input type = "radio" name = "toshi" value = "5" >50代<br> <input type = "radio" name = "toshi" value = "6" >60代<br> <input type = "radio" name = "toshi" value = "7" >70歳以上<br><br> <b>お昼によくみる番組は?</b><br> <input type = "radio" name = "type" value = "8" checked>ピンポ<br> <input type = "radio" name = "type" value = "9" >スクランブル<br> <input type = "radio" name = "type" value = "10" >笑っていいとも<br> <input type = "radio" name = "type" value = "11" >おもいっきりいいTV<br><br> <b>週に何回見ますか?</b><br> <input type = "text", name = "test_about_other" maxlength="100"><br><br> <INPUT TYPE="submit" VALUE="送信"> <INPUT TYPE="reset" VALUE="やり直し"<BR><BR> </form> </body> </html>

    • ベストアンサー
    • PHP