• ベストアンサー

formタグを使用した時の$_POST['example ']の受取り

今MySQLを使用して、サンプルのデータベースを構築して、HP上で条件検索して結果を表示できるようなプログラムを作っています。 そこで質問したいのですが、formタグの中でinputタグ等を記述し他のphpファイルにデータを送るとき、nameで"example"と記述したとしたら$_POST['example']のような形で受け取ると思うのですが、例えばwhile等でチェックボックスを複数作成(以前にとある処理があり、その結果によって作成される個数が変動するとすると)して、各チェックボックスのデータを送る場合、配列を使用してnameで指定した"example"の後部に0から順番に"example0","example1"…と付け加えてやることでチェックボックスを判別してデータを送ってやろうと思ったのですが、その場合データの受取り側も$_POST['example0'],$_POST['example1']…と受けたら無ければなりません。しかしexampleの後部の数字をカウントしながらデータを受け取るやり方が分かりません。 こういった場合どうすればよいのでしょうか? 分かりにくい説明で理解し辛いとは思いますが、どうかよろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<input type="checkbox" name="example[]" value="A">A<br> <input type="checkbox" name="example[]" value="B">B<br> <input type="checkbox" name="example[]" value="C">C<br> <input type="checkbox" name="example[]" value="D">D の様にチェックボックスを書いている時 foreach($_POST['example'] as $Index => $Value){ … } の様にして値を取り出すことができます。

shinopo
質問者

お礼

ありがとうございます。 質問を書いてから過去に同じ質問がないかを検索したところ、イッパイ同じような質問がありました(´Д`;) 本当に申し訳ないです。 でも、勉強になりました。ありがとうございます♪

その他の回答 (1)

回答No.2

配列の個数をカウントしてデータを取り出していくだけなら… $count=count($example); for($i-0;$i>$count;$i++){ $ex[$i]=$example[$i]; } で取り出せます。 count関数で配列の要素をカウントしてデータを取り出す やり方です。

shinopo
質問者

お礼

なるほど、そういうやり方もあるのですね! 過去に何回も書いてらっしゃるのに、調べる前に質問を書き込んでしまいました。 良く調べてから重複の無い書き込みをするよう気をつけます。

関連するQ&A

  • <form method=post action="***.cgi">~</form>の場所は?

    CGIでデータを受け渡しするアンケートを作っています。html中に書く<form method=post action="***.cgi">~</form>“~”の場所についてですが質問項目を全て挟まなくてはいけませんか?実は、チェックボックスの「最大2つまで回答可」という部分をJavascriptでチェック個数を超えてチェックした時点でアラートが出るようにしてます。その記述中にすでに<form>~</form>タグを制限をかけたい質問に置いているので、質問全体を<form method=post action="***.cgi">~</form>でくくると入れ子になってしまいます。大丈夫ですか?

    • ベストアンサー
    • CGI
  • formタグ

    HTMLで、formを使用し、CGIへテキストエリアのデータをpostしたいと 考えております。 テキストエリアを3つ、ボタンを1つ設けるならば 通常以下のようにすると思います。(必要部分の抜粋) <form action="foo1.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行"> </form> こうすると、実行ボタンをクリックすると、text1、text2、text3のテキストエリアに 記述されているテキストが送信されますが、ここにボタンをもう一つ設け、 上記3つのデータを別のCGIに送信したいのですが、 この場合どのようにHTMLを記述したらよいでしょうか? 新たに下記のようにformタグを設けると、テキストエリアは6つになってしまいますし。。。 <form action="foo2.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行2"> </form> どなたか分かる方情報頂けますか。

    • ベストアンサー
    • HTML
  • <?php ?>内にてformを使用して$POSTに値を送る

    ※PHP初心者なのでお手柔らかにお願いします。 現在PHPを使用して掲示板を作成しているのですが、 掲示板の書き込みフォームの作成で詰まっています。 下記ソースを実行してもテーブルが表示されません。 テーブルのみ表示を試してみたらうまくいったので、 inputタグがおかしいのではと思いますが何が NGなのかよく分かりません。 誰か教えてください。 <?php $Temp = '<div align="center">       <form action="bbs_input.php" method="POST">       <table border="0" width="100%">         <tr>           <td width="20%" align="right" bgcolor="E0FFFF">             <b><font size="2" color="#696969">お名前(HN)               </font></b>           </td>           <td>             <input type="text" name="NAME" size="30"             maxlength="20" value="<?=$_POST['NAME'] ?>">           </td>         </tr>      </table>      </form>      </div>'; print ($Temp); ?>

    • ベストアンサー
    • PHP
  • 複数formの使用について

    お世話になります。 複数のFORMを入れ子で使用する方法はありますでしょうか? 下記の記述だと外側のFORMが無効になってしまいます。 表示の順は以下のようにしたいです。 aaa.phpへPOST変数でデータを受け渡して使用します。 <form method="post" name="test1" action="aaa.php"> <input type="text" name="text01" id="textA" value="10"> <input type="text" name="text02 id="textA" value="20"> <input type="text" name="text03" id="textA" value="30"> (上のinputタグ数は動的に変わります) <form method="POST" name="test2" action="bbb.php"> <select name="select"> <option>selectA</option> <option>selectB</option> <option>selectC</option> <input type="submit" name ="read" value="読込"> </select> </form> <input type="submit" value="保存" > </form> 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • formの外にあるチェックボックスをPost送信?

    こんにちは! HTMLのソース上、または、ページのレイアウト上、一つの<form>タグの外に 配置しざるを得ない<input>要素がある場合があると思います(?) 例えば、添付画像のように、一括操作用のプルダウンメニューと送信ボタンを置いた Formタグがあり、また、それとは離れた場所にチェックボックスがあるようなケースです。 添付画像は今、勉強用に作成している自作ブログの管理画面なのですが、 記事一覧の左端に並ぶチェックボックスのうち、チェックされた記事を、 上部にある一括操作メニューから一括削除出来る様にしたいと考えています。 そこで、今、つまづいているのが、どのようにして、チェックされた該当の、 各記事IDをPostすることが出来るのかということです。 <form>と</form>の間に挟まれていない、input項目(この場合はチェックボックス)は、 Postしても送信されないと思うのですが、どのように対処するのが宜しいのでしょうか? javascriptでチェックされた記事のIDを、<form>タグの間に、 <input type="hidden">で、それぞれ、挿入されていくように 実装するという方法は頭に浮かんでいるのですが、 このやり方がベストプラクティスとなりますでしょうか? 経験豊富な先輩方のお知恵を拝借出来ればと思い、 ご質問させて頂きました。 宜しければご返答頂ければ幸いです。 よろしくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • 5個のFormタグを1つのFormタグでまとめたい

    <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY1 %> > ~</form> <form method="POST" action="jan_Edit.asp"> <input type="submit" value="This Month"> </form> <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY2 %> >~</form> 現在、カレンダーを作成しています。上記(3つしか乗せてませんが同じ内容) 変数は YY1=1年前の月初 MM1=1か月前の月初 MM2=1ヶ月後の月初 YY2=1年後の月初で インプットタイプでサブミットを使用しています。端的にいうと、現在Formを5個使って月次、年次でカレンダーを作ってます しかし、Formがこれだけ並んでたら、かっこ悪いので1つのForm文でまとめれたらと 思ってますがなかなかグーグル先生でもみつかりません。 Formを一つにまとめれたらと思いますが、どなたか知恵をおかしください。

    • ベストアンサー
    • HTML
  • name属性のないformタグの、中身を操作する方法を教えてください

    greasemonkeyを書こうと思っているのですが、その対象ページの<form>タグには、 name属性が無く、その中のテキストボックスやチェックボックスの操作をJavaScriptから行う事が出来ません。 スマートに操作するためにはどのようなやり方がよいでしょうか? document.nameが無いためにここの指定が出来ないのです.checked = check;

  • FORM ACTION~POST使用時について

    こんにちは。お世話になります。 cgiファイルから、FORM ACTION~POST⇒submitで自分自身を呼び出す時に、INPUT TYPE=\"text\"を11個間に入れると呼び出せません。 (10個の場合はうまくいきます) FORM ACTION~POSTは文字数制限がないと、本を見てもかいてあるのですが、なにか理由があるのでしょうか。 ご存知の方、ご教授願えたら幸いです。 よろしくお願いいたします。 抜粋したソースを下記に記します。 ------------------------------------------------------------- #障害対応情報項目テキストボックス print "<H5>【障害対応情報項目】</H5>\n"; print "<FORM ACTION=\"../cgi-bin/serch_e-001.cgi\" METHOD=\"POST\">\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-2\" VALUE=\"$$selectdata[0][7]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-3\" VALUE=\"$$selectdata[0][8]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-4\" VALUE=\"$$selectdata[0][9]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-5\" VALUE=\"$$selectdata[0][10]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-6\" VALUE=\"$$selectdata[0][11]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-7\" VALUE=\"$$selectdata[0][12]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-8\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-9\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-13\" VALUE=\"$$selectdata[0][18]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-14\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-15\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"新規検索\">\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"更新\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"no\" VALUE=\"$$selectdata[0][0]\">\n"; print "</FORM>\n"; ------------------------------------------------------------

    • ベストアンサー
    • Perl
  • [HTML]FormのGETとPOSTについて

    Formタグで下記の場合(GET)は次ページへ遷移しますが <FORM name="form1" action="xxxxx.html" method="GET"> 下記の場合(POST)だと <FORM name="form1" action="xxxxx.html" method="POST"> 「ページを表示できません」のエラー(HTTP 405 - 許可されていないリソースです。) になってしまいます。 当方、環境はIIS5.1です。 この現象ご存知の方がいましたら、ご支援願います。 以上、宜しくお願い致します。

  • formタグの部分をBackSpace押すと画面が消える

    PHPでデータ入力画面を作成しています。 FORM タグで、チェックボックスや、プルダウンのSELECTタグなどの部分を 入力画面でBackSpaceをクリックすると画面がキャンセルされてしまいます。 ブラウザは InternetExplorer 6 です。 なにかキーボードの割り当てなどの設定があるのでしょうか。 それともphpやjavascriptでのソースの変更が必要でしょうか。 初心者で申し訳ありません。。。 どうぞよろしくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう