• ベストアンサー

form value 複数 PHP

失礼します。 現在checkboxがあり、submitでvalue値を受け取りたいのですが、一つのinputで出来れば渡したいです。value値に結合とはまた違うといいますか汗 例えば <td><input id="node" name='hobby[]' type="checkbox" value="<?php echo $test ?>"></td> とあった場合value値とは別にPHPに値を送信して受け取ることは可能でしょうか? もしなにか方法があれば教えて頂きたいです。 宜しくお願い致します。

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

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.1

value の値も送りたいし、その他のデータも同時に送りたいと言う事でしょうか? であれば、JavaScriptを使って処理するしかないでしょうね。

losloson
質問者

お礼

ご返信おそくなってしまい申し訳ございません、結果valueに入れる際に複数のデータをjson文字列でまとめて渡すことにしました。 ありがとうございます。

losloson
質問者

補足

すいません、POST以外でやる方法がわからなくて汗

その他の回答 (2)

回答No.3

ひとつのinputで渡すのをあきらめて、 input type="hidden" で渡すか、 他の回答者さんからもあったとおり、JavaScriptで渡すしかないでしょう。

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.2

> POST以外でやる方法がわからなくて 単純なPOSTでやりたいのであれば、PHPのプログラム側でデータを計算すればいいんじゃないでしょうか。 例えば、チェックボックス「A」にチェックが入っていたら「性別は男性で年齢が20代」、チェックボックス「B」にチェックが入っていたら「性別は女性で年齢が30代」という情報を得たいとします。 PHPのプログラム側では array( 'A' => arrray( '性別' => '男', '年齢' => '20代'), 'B' => arrray( '性別' => '女', '年齢' => '30代')) というデータを持っておき、HTMLは <input name="hoge[]" type="checkbox" value="A"> <input name=”hoge[]" type="checkbox" value="B"> としておけば、POSTされてきた値とプログラム側のデータを付き合わせることで、複数のデータを取り出すことが可能です。 全ての値をHTML側に書き込むのは無駄が多いので、プログラムで処理するならプログラム側でデータを持っておく方がいいと思います。

losloson
質問者

お礼

https://teratail.com/questions/25251 これが近いかもしれないです

losloson
質問者

補足

最初に説明をしておけばよかったですね汗 実は今valueに設定してあるのが、json形式の変数で それとは別で渡したいのです、説明が下手ですいません汗

関連するQ&A

  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP
  • PHP

    PHPで <p>曜日</p> <p> <input type="checkbox" name="youbi[]" value="1" <?php if(strstr($result[4],'1')) echo"checked"; ?>>月 <input type="checkbox" name="youbi[]" value="2" <?php if(strstr($result[4], '2')) echo"checked"; ?>>火 <input type="checkbox" name="youbi[]" value="3" <?php if(strstr($result[4],'3')) echo"checked"; ?>>水 <input type="checkbox" name="youbi[]" value="4" <?php if(strstr($result[4],'4')) echo"checked"; ?>>木 <input type="checkbox" name="youbi[]" value="5" <?php if(strstr($result[4],'5')) echo"checked"; ?>>金 <input type="checkbox" name="youbi[]" value="6" <?php if(strstr($result[4],'6')) echo"checked"; ?>>土 <input type="checkbox" name="youbi[]" value="0" <?php if(strstr($result[4],'0')) echo"checked"; ?>>日 </p> <p>時間</p> <p> <input type="submit" value="設定" /> とやると日曜日を選択してsubmitするとチェックが外れます。なぜでしょうか?

    • ベストアンサー
    • PHP
  • フォーム INPUTの文字化け対策の対処方は?

    チェックボックス(趣味のリスト)のチェック有無を配列で受けていますが、"パソコン"の文字が"パソ\コン"に文字化けしてしまいます。対処方法をお教えください。 <?php mb_language('Japanese'); $hobby=@implode(" ",$_POST[hobby]); echo $hobby; ?> <FORM action="<?=$_SERVER[PHP_SELF]; ?>" method="post" > <INPUT type="checkbox" name="hobby[]" value="旅行" >旅行<BR> <INPUT type="checkbox" name="hobby[]" value="温泉" >温泉<BR> <INPUT type="checkbox" name="hobby[]" value="ゴルフ" >ゴルフ<BR> <INPUT type="checkbox" name="hobby[]" value="パソコン" >パソコン<BR> <INPUT type="checkbox" name="hobby[]" value="ドライブ" >ドライブ<BR> <INPUT type="checkbox" name="hobby[]" value="写真" >写真<BR> <INPUT type="submit" name="submit" value="送信"><BR> <INPUT type="reset" name="reset" value="RESET"> </FORM>

    • ベストアンサー
    • PHP
  • jquery複数のcheckboxの値について

    どうも、はじめまして、jqueryに興味をもった初心者です。 jqueryを利用で、phpファイルにcheckboxの値を渡し、loadでphpファイルを読み込みたいのですが、うまくいきません。。ご存知の方いましたら、 お手数ですが、教えてください。。 環境、php5.1,jquery1.4, ソース <!--html側--> <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="chk.js"></script> <title></title></head> <body> <input type="checkbox" name="test[]" id="test" value="1">test1 <input type="checkbox" name="test[]" id="test" value="2">test2 <input type="checkbox" name="test[]" id="test" value="3">test3 <input type="checkbox" name="test[]" id="test" value="4">test4 <input type="submit" value="sub" id="sub"> <div id="hbox">ここにロードしたい</div> </body> </html> //chk.js --------------------------- $(function(){ $("#sub").click(function () { var chk = $(".@test:checkbo[name^='test[]']:checked") .val(); $("#hbox").load("form.php",{test:chk}); }); }); //form.php ---------------------------- <?php echo htmlentities( print_r($_GET, true) ); ?> 以上がソースです。。。このソースだと、 checkを入れた値1つしか、phpに渡すことができません。。 checkを入れた値をすべて、phpに渡し、loadしたいのですが、 方法が分からず困ってます。 ご存知の方いましたら、お手数ですが、 分かりやすく、教えていただけませんでしょうか お願いいたします。

  • Formを使ったPHP間での受け渡しについて

    いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST">   <input type="hidden" name="id" value="aaa"/>   <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

    • ベストアンサー
    • PHP
  • [PHP初心者] フォームのエラーチェック

    PHPやデータベースに全く疎い者です。 皆様にご指導頂きたく投稿致します。質問内容もレベルが低いですがどうが宜しくお願いします。 メールフォームにてフォームのボタンを押下し、 エラーチェックをして、エラー項目を同一画面上の上の辺りに表示させたいのですが、、参考書を読んだり、過去スレを拝見しても、どうもわかりません。 <body> //↓この辺をどう書けばいいのか、さっぱりなんです。 <?php if(isset($_POST['mailform'])) { if($_POST['name'] == "") { echo("名前を入力して下さい。<br>"); }} ?> //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ <form method="POST" action="kakunin.php"> <table border="0" cellpadding="5"> <tr> <td colspan="2"></td> </tr> <tr> <td>名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input name="mail" type="text" id="mail" size="20"></td> </tr> <tr> <td>項目</td> <td>     <input type="checkbox" name="check[]" value="PHP">PHP <input type="checkbox" name="check[]" value="Perl">Perl <input type="checkbox" name="check[]" value="ASP">ASP <input type="checkbox" name="check[]" value="JSP">JSP</td> </tr> <tr> <td>お問い合わせ内容</td> <td><textarea rows="5" name="naiyou" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input name="mailform" type="submit" id="mailform" value="::入力内容を確認::">  <input type="reset" name="Submit" value="リセット"></td> </tr> </table> </form> </body>

    • 締切済み
    • PHP
  • 画面の再読込をせずに動作する方法について

    下記のソースで動作は出来ているのですが、画面の再読込が必要な状況となっております。 そのため、再読込をせずに動作させたいと思ったのですが、どうすればできるかわからなかったのでアドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。 【やりたい事】 1. サブ入力画面でcopyボタンを押下時、入力画面の名前とメールアドレスをサブ入力画面にコピーしているのですが、画面の再読込が必要になっているのを、再読込無しで動作させたいです。 2. 入力画面でdel2ボタンを押下時、3rdの行の内容を2ndにコピーした上で、3rdの内容を削除しているのですが、画面の再読込が必要になっているのを、再読込無しで動作させたいです。 3. これは出来ればで結構なのですが、del2(またはdel3)ボタン押下時、その行に何もデータが存在しない場合は、何かしら警告メッセージを表示できるとありがたいです。 【動作確認方法】 下記の3つのファイルをドキュメントルート直下にtestフォルダを設置し、ブラウザからindex.phpにアクセスしてください。 その後、任意の名前とメールアドレスを入力し、add2ボタンを押下するとサブ入力画面に遷移するため、そこでcopyボタンの動作を試すことができます。 また、del2ボタンの動作は、サブ入力画面で任意の名前とメールアドレスを入力後、saveボタンを押下すると入力画面に遷移するため、そこでdel2(del3)ボタンの動作を試すことができます。 【ソースコード】 1. index.php <?php mb_internal_encoding('UTF-8'); $document_root = $_SERVER['DOCUMENT_ROOT']; $list=array( "mode" , "submit" , "name" , "name1" , "name2" , "name3" , "mail" , "mail1" , "mail2" , "mail3" ); foreach($_POST as $key=>$value){ if (in_array($key, $list)) { $$key=strip_tags($value); } } if($mode=="input") { if($submit == "add2") { $name1 = $name2; $mail1 = $mail2; require_once($document_root . "/test/sub_input.html"); } elseif($submit == "add3") { $name1 = $name3; $mail1 = $mail3; require_once($document_root . "/test/sub_input.html"); } elseif($submit == "del2") { $name2 = $name3; $mail2 = $mail3; $name3 = ""; $mail3 = ""; require_once($document_root . "/test/input.html"); } else { $name3 = ""; $mail3 = ""; require_once($document_root . "/test/input.html"); } } else if($mode=="sub_input") { if($submit == "copy") { $name1 = $name; $mail1 = $mail; require_once($document_root . "/test/sub_input.html"); } else { if($name2 == "") { $name2 = $name1; $mail2 = $mail1; require_once($document_root . "/test/input.html"); } else { $name3 = $name1; $mail3 = $mail1; require_once($document_root . "/test/input.html"); } } } else { require_once($document_root . "/test/input.html"); } ?> 2. input.html <form action="./index.php" method="post"> <table width="100%"> <tr> <td>名前</td> <td><input type="text" name="name" id="name" value="<?php echo $name ?>" /></td> <td>&nbsp;</td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="mail" id="mail" value="<?php echo $mail ?>" /></td> <td>&nbsp;</td> </tr> <tr> <td>2nd</td> <td><?php echo $name2; ?><input type="hidden" name="name2" value="<?php echo $name2; ?>" /><input type="hidden" name="mail2" value="<?php echo $mail2; ?>" /></td> <td><input type="submit" name="submit" value="add2" /> <input type="submit" name="submit" value="del2" /></td> </tr> <tr> <td>3rd</td> <td><?php echo $name3; ?><input type="hidden" name="name3" value="<?php echo $name3; ?>" /><input type="hidden" name="mail3" value="<?php echo $mail3; ?>" /></td> <td><input type="submit" name="submit" value="add3" /> <input type="submit" name="submit" value="del3" /></td> </tr> </table> <input type="hidden" name="mode" value="input" /> </form> 3. sub_input.html <form action="./index.php" method="post"> <input type="submit" name="submit" value="copy" /> <table width="100%"> <tr> <td>名前</td> <td><input type="text" name="name1" id="name1" value="<?php echo $name1 ?>" /></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="mail1" id="mail1" value="<?php echo $mail1 ?>" /></td> </tr> </table> <input type="submit" name="submit" value="save" /> <input type="hidden" name="mode" value="sub_input" /> <input type="hidden" name="name" id="name" value="<?php echo $name ?>" /> <input type="hidden" name="name2" id="name" value="<?php echo $name2 ?>" /> <input type="hidden" name="name3" id="name" value="<?php echo $name3 ?>" /> <input type="hidden" name="mail" id="mail" value="<?php echo $mail ?>" /> <input type="hidden" name="mail2" id="mail" value="<?php echo $mail2 ?>" /> <input type="hidden" name="mail3" id="mail" value="<?php echo $mail3 ?>" /> </form> 以上、宜しくお願いします。

  • phpのpostについて

    a.phpの値をb.phpにpostしたいのですがうまく値が渡せません post元にはname属性に変数を用いているのですがpost先でnameをどのように指定したらいいかわかりません <a.php> <form action="foo.php" method="POST"> <div id="button"> <input type="submit" name ="PostGo" value="postTime" style="margin-right:30px;" /> </div> <table> <?php for ($data = 1; $data < 5; $data++) { ?> <tr><td> <select name="test<?php echo $data?>"> <option value=1>1 <option value=2>2 <option value=3>3 <option value=4>4 </select> <?php } ?> </table></form> <b.php> <?php for($i=1;$i<5;$i++){ $test =($_POST['test']);←ここの部分のpostをどう指定したらいいかわかりません echo $test; } ?> ※$_POST['test' + $i] これでも取れませんでした

    • ベストアンサー
    • PHP
  • PHP name 動的 value 取得

    失礼します現在動的に生成されたテーブルにチェックボックスに✔した際に valueをPHPで受け取りたいです 例ですが 現在 $set_array[0]に array(4) { [0]=> string "hoge" [1]=> string "piyo" [2]=> string "hogehoge" [3]=> string "test" } という配列が[1],[2]と他にあるとして、 iをfor文で回して <td><input name="hobby[]" type="checkbox" value="<?php $set_array[i]?>"></td> とインプットタグを作り 上記ような形で受け取れると思ったのですがうまくいきません汗 ご教授いただければ幸いです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • php text value

    <?php $name=$_POST['name']; echo'名前'; echo'<input type="text" name="name" value="$name">'; text内の値が $nameとそのままでます。 ご教授お願いいたします。

    • ベストアンサー
    • PHP