• 締切済み

フォームからのデータ送信方法

どのカテゴリーに質問させていただいていいのか見当がつかなかったのでこちらに 投稿させてもらいました 見よう見まねでフォームからのデータ送信を試みています。 やり方に検討がつかずヒントをもらえたらと思います 最終目標はショッピングカートへのデータ送信です 一つの商品をカゴに入れるには下記のような形だというところまではわかりました <form action="/products/detail.php" method="post" name="a11" id="a11" > <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="checkbox" name="quantity" value="1" /> <input type="submit" value="購入する" /> しかし、商品にはグループが3つあり、さらに各グループには9つの商品あります なので合計27個の商品の中から3つを選んでもらう形をとりたいのです どれを選んだのかがわかるように一覧の中から選択してもらいたいです Aグループ (商品1、商品2、商品3・・・・) Bグループ (商品10、商品11、商品12・・・・・) Cグループ (商品19、商品20、商品21・・・・・) という感じです 各グループの中からは一つしか購入できないので、 ラジオボタンで選択してもらい、それをフォームにてデータを送信 確認画面を経て、ショッピングカートへ送信という流れを取りたいと考えています ラジオボタンで選択後に商品の情報をカートに送るためにはどうすればよいでしょうか? 素人考えで、例えば、ボックスみたいのをつくり、その中に情報を記入、 それをなんらかの形で呼び出す みたいな感じでできる方法がないかと探しています お手数ではありますが、参照プログラムを記述していただけるとありがたいです 質問の仕方も下手で申し分けありませんが、足らない部分は随時追加させていただきますので、 必要な情報等もございましたらお教えいただければと思います どうぞよろしくお願いいたします

  • CSS
  • 回答数3
  • ありがとう数3

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

それぞれ9個の選択肢をもつ3つのグループからひとつずつ選択するのですから、フォームコントロールはradioかseclectになります。 <form action="****" method="post"><!-- nameやidは不要です -->  <ul>   <li>Aグループ    <select name="A" size="1">     <option value="1">商品1     <option value="2">商品2     ・・・【中略】・・・     <option value="9">商品9    </select>   </li>   <li>Bグループ    <select name="B" size="1">     <option value="1">商品1     <option value="2">商品2     ・・・【中略】・・・     <option value="9>商品9    </select>   </li>   <li>Aグループ    <select name="C" size="1">     <option value="1">商品1     <option value="2">商品2     ・・・【中略】・・・     <option value="9>商品9    </select>   </li>  </ul> ・・・【中略】・・ </form> あるいは、radioを使用して <form action="****" method="post"><!-- nameやidは不要です -->  <ul>   <li>Aグループ    <ol>     <li><input type="radio" name="A" value="1">商品1</li>     <li><input type="radio" name="A" value="2">商品1</li>     <li><input type="radio" name="A" value="3">商品1</li>     ・・・【中略】・・・     <li><input type="radio" name="A" value="9">商品1</li>    </ol>   </li>   <li>Bグループ    <ol>     <li><input type="radio" name="B" value="1">商品1</li>     <li><input type="radio" name="B" value="2">商品1</li>     <li><input type="radio" name="B" value="3">商品1</li>     ・・・【中略】・・・     <li><input type="radio" name="B" value="9">商品1</li>    </ol>   </li>   <li>Cグループ    <ol>     <li><input type="radio" name="C" value="1">商品1</li>     <li><input type="radio" name="C" value="2">商品1</li>     <li><input type="radio" name="C" value="3">商品1</li>     ・・・【中略】・・・     <li><input type="radio" name="C" value="9">商品1</li>    </ol>   </li>  </ul> ・・・【中略】・・ </form> いずれにしても、サーバーにはA=3&B=5&C=2 と言う形データが送られます。  ⇒17 フォーム ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html )

muscleking78
質問者

お礼

回答ありがとうございます お礼が遅くなってしまい申しわけありません フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした 再度見直しをしてみます ありがとうございました

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

グループ枠1 <label for="it1-1"><input type="radio" name="gr1" id="it1-1" value="商品1-1" />商品1-1</label> <!-- ~~2~8までループ~~ --> <label for="it1-9"><input type="radio" name="gr1" id="it1-9" value="商品1-9" />商品1-9</label> グループ枠2 <label for="it2-1"><input type="radio" name="gr2" id="it2-1" value="商品2-1" />商品2-1</label> <!-- ~~2~8までループ~~ --> <label for="it2-9"><input type="radio" name="gr2" id="it2-9" value="商品2-9" />商品2-9</label> グループ枠3 <label for="it3-1"><input type="radio" name="gr3" id="it3-1" value="商品3-1" />商品3-1</label> <!-- ~~2~8までループ~~ --> <label for="it3-9"><input type="radio" name="gr3" id="it3-9" value="商品3-9" />商品3-9</label> 単なるフォームですよね。 別項目と考えれば、何も難しく考える必要が無いと思いますが・・・

muscleking78
質問者

お礼

回答ありがとうございます お礼が遅くなってしまい申しわけありません フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした 再度見直しをしてみます ありがとうございました

  • hirotn
  • ベストアンサー率59% (147/246)
回答No.1

<input type="option" name"group1" value="商品1" />商品1 <input type="option" name"group1" value="商品2" />商品2 <input type="option" name"group2" value="商品10" />商品10 <input type="option" name"group3" value="商品19" />商品19 groupごとにname属性を設定します。フォーム送信時にはvalueの値が格納されます。

muscleking78
質問者

お礼

回答ありがとうございます お礼が遅くなってしまい申しわけありません フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした 再度見直しをしてみます ありがとうございました

関連するQ&A

  • 同一ページの複数フォームを一括送信したい

    会社にてあるイベントの申込みページを作成している、ほぼ初心者です。 ショッピングカートへとフォームから飛ばしたいのですが、プログラムがよくわからず行き詰っています。 以前の回答にもあったhttp://okwave.jp/qa/q3418439.htmlを真似て作ってみましたが、 最初のものだけをピックアップして実行されてしまいます また、本来はチェックボックスにチェックが入っているもののみを送信したいんです </style> <script language="javascript"><!-- function send() { document.a11.submit(); document.b11.submit(); ・ ・ ・ ・ } //--></script> これをヘッダー内に書き込み <form name="a11" action="/products/detail.php" method="post" target="_blank"> <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="checkbox" name="quantity" value="1" /><br /> </form> <form name="b11" action="/products/detail.php" method="post" target="_blank"> <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="140" /> <input type="hidden" name="product_class_id" value="637" /> <input type="checkbox" name="quantity" value="1" /><br /> </form> ・ ・ ・ ・ ・ というフォームが数十個あります。 数十個あるうちのチェックボックスにチェックが入っているもののみを 送信したいのですが、プログラムの組み方をご教授願えませんでしょうか? 順番としては (1)チェックボックスにチェックが入っているものを認識 (2)チェックボックスにチェックが入っているものを順に送信 という感じなのかなと考えていろいろ調べてみたのですが、 わからない状態です ほぼ初心者なので、お手数ですが、サンプル記述などもいただけると 大変たすかります どうぞよろしくお願いいたします

  • フォームからsubmitをした後再読込させない

    ほぼ初心者でフォームからの申込みを作っています 現在 <form name="a11" action="/products/detail.php" method="post" > <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="checkbox" name="quantity" value="1" /><br /> <input type="submit" value="受講する" onClick="alert('カゴに入れました');value='受講する'" /> </form> というフォームが数十個あるのですが、 一つチェックボックスにチェックを入れて送信するとページの再読み込みがされて チェックボックスのチェックが消えてしまいます どのチェックボックスにチェックを入れたかは残したまま、次のsubmitを押させたいのです 申込み者がどのフォームにチェックを入れて送信をしたかを見れるようにして 次のページに飛ばしたいのです どうかご教授願います HTMLの項目で質問させていただきましたが、JavaScriptのプログラム例など 併せてご教授いただけますと助かります どうぞよろしくお願いいたします

  • PHPで隠しデータをPOST送信する方法

    <form name="example" method="POST" action="example.php"> <input type="text" name="id" value="" /> <input type="password" name="pw" value="" /> <input type="submit" value="ログイン" /> </form> 上記のようなログインフォームがあるとします。 <input type="hidden" />のようにソースを見たらわかってしまう方法ではなく、 クライアント側で完全に見えないよう、id,pwの送信と同時にPHPで隠しデータをPOST送信する方法はございますでしょうか。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • フォームで同じ複数のnameで違うvalueの送信

    始めまして、現在一個のフォーム内で複数の同じnameで、違うvalueを送信しようと苦戦しております、、普通にタグを書くだけでは 一個のnameで違うvalueの送信は、最後のvalueしか送信できないです、 phpは使用できません。javaは、、殆ど素人なので、あまり分かりません、、formを一個一個区切るのも、レイアウト上できません、、 どうすればいいのでしょうか?・・・以下タグです。 昨日から、ここから先に進めません。。 先輩方助けてください、本当によろしくお願いします。 <form action="http://hoge.net/hoge/hogecheck.php" method="post"> <input type="hidden" name="site" value="hoge"> <input name="id" type="text" id="idform" maxlength="10" /> <input type="hidden" name="kin" value="3000"> <input type="image" src="buybtn.gif" /> <input type="hidden" name="kin" value="5000"> <input type="image" src="buybtn.gif" /> <input type="hidden" name="kin" value="10000"> <input type="image" src="buybtn.gif" /> <input type="hidden" name="kin" value="20000"> <input type="image" src="buybtn.gif" /> </form>

    • ベストアンサー
    • Java
  • 【フォーム】PHPで確認画面をだした後にボタンを

    ほぼ初心者のものです 下記のようなフォームをつくりました <form action="regist.php" method="post"> <input type="radio" name="08241" value="A11"/> <input type="radio" name="08241" value="B11"/> <input type="radio" name="08241" value="C11"/> <input type="radio" name="08241" value="D11"/> <input type="radio" name="08241" value="E11"/> <input type="radio" name="08241" value="F11"/> <input type="submit" value="登録する" /> そしてこれらを確認するためにregist.phpを作成し <table width="250" border="1"> <tr> <td width="250">選択したもの</td> </tr> <tr> <td><?php echo $_POST["08241"] ?></td> </tr> <tr> <td>●●●</td> と記載し、選んだものを表示できるようにしました ここからが皆様にお力を借りたいところなのですが フォームから「A11」が選択されて確認画面に「A11」と表示されたとき ●●●のところに下記のような情報を含んだボタンを表示させたいんです <form name="a11" action="/products/detail.php" method="post" > <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="hidden" name="quantity" value="1" /><br /> <input type="submit" value="決定する" onClick="alert('選択しました')" /> </form> このボタン情報はA11~F11まであって、product_idやproduct_class_idは それぞれ異なっています どこかに一覧を作成しておいて form nameで一致したものを表示させるといった やり方なのかなとは思うのですが、その方法がわかりません PHPを使えばいいのかJavascriptがよいのかもあわせ、記述方法などをご教授いただけませんでしょうか? どうかよろしくお願いいたします

    • 締切済み
    • PHP
  • フォームよりCGIへ複数の値をPOSTしたい…。

    はじめまして。 現在、ショッピングカートのCGIを利用するためにHTMLを調整しています。 【単一商品の場合】 <FORM action="cgi-bin/cart/cart.cgi" method="POST"><INPUT type="hidden" name="shouhinnumber" value="0001"><INPUT type="hidden" name="shouhinmei" value="高級シャンプー"><INPUT type="hidden" name="kakaku" value="3000"> あとはセレクトフォームで数を選択して送信すれば正常に料金計算されるのですが、これが、内容量によって料金が異なる場合、どのようにHTMLを組めばよろしいのでしょうか。 ラジオボタンでそれぞれの行にINPUTを入れたが、先頭のINPUTしか認識せず、フォーム文を複数作るとマージンが空き、複数選択が可能になってしまう。 なお、CGIをいじるのは危険なので、HTML内でどうにかしたい・・・。 つまり・・・ 高級シャンプーの 260mlが1800円 500mlが3000円 というように単一商品名で代金が異なるものを1つのフォーム内でCGIへ送信できないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 子ウインドウのカート送信時に親ウインドウに結果表示したい

    親ウインドウからカート表示する子ウインドウ開き、 カートの送信ボタンを押した後、子ウインドウには カートを表示したままで、親ウインドウにカートを 表示したいのです。通常のカートだと送信ボタンを押すと そのウインドウにカート内容が表示されてしまいます。 子ウインドウ <form action="http://www.****.cgi" method="post"> <input type="hidden" name="_shop_id" value="****"> <select name="_item"> <option value="商品A\200">商品A \200 </select> <input type="hidden" name="_zaiko" value=""><select name="_num"> <option value="1">1 <option value="2">2 <option value="3">3 </select> <BR> <input type="hidden" name="_memo1"><input type="hidden" name="_memo2"> <input type="hidden" name="_memo3"> <input type=hidden name="ORDSTEP" value="step1"> <input type="submit" value="買い物カゴへ"></form> 親ウインドウ <script language="JavaScript"> <!-- var openWin ; //--> </script> </HEAD> <BODY> <DIV style="width : 42px;height : 16px;top : 55px;left : 157px; position : absolute; z-index : 1; " id="Layer1"><input type ="button" value ="OPEN" onclick ="openWin = window.open('testcart1.htm', '', 'width=400,height=400');" 以上よろしくお願いします。

  • ショッピングカートの送信ボタンを画像にするには!?

    ショッピングカート自体はちゃんと機能しているのですが、送信ボタンを画像にするのにはどうすればよいのでしょうか。よろしくお願いします。 ちなみに今の設定はこんな感じになってます。 <form method=post action="cart.asp"> <input type=hidden name="action" value="regist"> 商品A <input type=hidden name="goods" value="商品A"> 単価 1,000円 <input type=hidden name="unit" value="1000"> 購入数 <input type=text name="amount" value="0" size=3>個<br> 備考 <input type=text name="rem" value="" size=20> <input type=submit value="カゴへ"> </form> これをxxx.jpgという画像のボタンにしたいのですが…

  • メールフォームの内容を送信者にも控えがとれるようにしたい

    下記の件で困っています。 HTMLの中で、メルフォを設けました。 <form method=post action="フォームデコードサービス"> <input type=hidden name="_mailto" value="***@*****.ne.jp"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="http://戻りURL.htm"> <table border="0" cellpadding="5" cellspacing="0" width="900"> <tr> <td width="150">氏名</td> <td colspan="2" width="700">     <input type="text" size="30" name="氏名"></td> </tr> ・ ・ ・ <p> <input type="submit" value="submit"> <input type="reset" value="reset"> </p> </form> 最初はデコードサービスを使わなかったのですが、Macから送信されるデータが文字化けする為、使うことにしました。 しかし、そうすると、送信者に送信内容が残らなくなってしまいました。 送信者の手許にもコピーが残るようにしたいので、お知恵を拝借できれば幸いです。 よろしくお願い致します。

  • MySQL 5 PHP 5 データの受け渡しについて 困ってます。。

    MySQL 5 PHP 5 データの受け渡しについて 困ってます。。 下記内容で困ってます。機能としては (1)プロダクトテーブルからデータを読み込み表示。 ※プロダクトテーブルには商品データが8件登録されています。 (2)注文ボタンが押されたら受注テーブルにデータをカキコミ。 なんですが。。。 プロダクトテーブルから読み込んだデータを受注テーブルに書き込むと $product_id がいつも8(受注テーブルデータの一番最後の数字) $product_name  同じ $product_price 同じ ・・・ になってしまいます。 whileループしているので変数に代入するのも繰り返されて一番最後のデータが いつも格納されている状態だと思うのですが、この解決策を教えて下さい! 最近始めたばかりで良く理解出来ないので噛み砕いて教えてくれる方お願いします>< <?php //---------------------------------------- // □:テーブルからデータを読む //---------------------------------------- $mysql->query("SELECT * FROM products ORDER BY product_id") or die(mysql_error()); while($row = $mysql->fetch()){ $product_id = $row["product_id"]; $product_name = $row["product_name"]; $product_price = $row["product_price"]; echo <<<EOT <tr> <td align="center">$product_id<input name="product_id" type="hidden" value="$product_id" size="10" /></td> <td align="center">$product_name<input name="product_name[$product_id]" type="hidden" value="$new_product_name" size="10" /></td> <td align="right">$product_price<input name="product_price[$product_id]" type="hidden" value="$new_product_price" size="10" /></td> <td><input name="new_use_date[$product_id]" type="text" value="$new_use_date" size="20" /></td> <td><input name="new_use_time[$product_id]" type="text" value="$new_use_time" size="20" /></td> <td><input name="remarks[$product_id]" type="text" value="$new_remarks" size="40" /></td> <td><input name="submit_add" type="submit" value="注文する" /></td> </tr> EOT; } //ここまでwhileループ[終了の閉じカッコ] ?>

    • ベストアンサー
    • MySQL

専門家に質問してみよう