• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:取得した値を、別のphpファイルで表示したい。)

b.phpファイルで値を取得し、a.phpファイルに表示する方法

このQ&Aのポイント
  • b.phpファイルでフォームを作成し、チェックボックスを表示する。
  • a.phpファイルでPOSTメソッドを使用して、b.phpから送信された値を取得する。
  • 取得した値をa.phpファイル上で表示する。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

ちゃんとやりたいなら今のデータの持ち方だと無理ですね <?php $happys = array( Array('id'=>'a-1','name'=>'a[]','value'=>'テレビ') ,Array('id'=>'a-2','name'=>'a[]','value'=>'パソコン') ,Array('id'=>'a-3','name'=>'a[]','value'=>'犬') ,Array('id'=>'a-4','name'=>'a[]','value'=>'ゲーム') ); foreach($happys as $happy) { print "<label for=\"{$happy['id']}\">{$happy['value']}</label><input type=\"checkbox\" id=\"{$happy['id']}\" name=\"{$happy['name']}\" value=\"{$happy['value']}\" />\n"; } ?> みたいにするといいです。a.phpでは <?PHP foreach((array) $_REQUEST["a"] as $val){ print $val."<br />\n"; } ?> でデータがとれます。

sryou1985kun
質問者

お礼

長い間。お付き合いしていただきありがとうございました。 また、機会がありましたらよろしくお願いします。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>そうです。まだ、テレビではなくa-1と表示されます。 それはないですね・・・b.phpでキャッシュが残っている可能性はあるので b.phpの状態でブラウザのF5などで更新をかけてみてください そのうえで、ブラウザからソースを除いてもらえば <label for="a-1">テレビ</label><input type="checkbox" name="a-1" value="テレビ"/> <label for="a-2">パソコン</label><input type="checkbox" name="a-2" value="パソコン"/> <label for="a-3">犬</label><input type="checkbox" name="a-3" value="犬"/> <label for="a-4">ゲーム</label><input type="checkbox" name="a-4" value="ゲーム"/> と表示されていることを確認してみてください。 もし <label for="a-1">テレビ</label><input type="checkbox" name="a-1" value="a-1"/> となっていたら転記ミスの可能性大です。

sryou1985kun
質問者

お礼

ありがとうございます。やっと、目当てのデータ(テレビ)を取り出し、a.php側で表示することができました。 ちなみに、すべてのデータを取得するには <?php print($_POST['a-1']); print($_POST['a-2']); print($_POST['a-3']); print($_POST['a-4']); ?>です こうするしかないのでしょうか?javascript:void(0); 1行のコードで済ますことは無理なのでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>まだうまくいきません。 というのはprint($_POST['a-1'])してもまだa-1が表示されるという意味でしょうか? もしそうであれば、きちんとソースに反映していないのだと思いますが・・・ そうでなく別のエラーならどのような状況なのか例示ください

sryou1985kun
質問者

補足

そうです。まだ、テレビではなくa-1と表示されます。 ちなみに、 a.phpにテレビと表示させるには、 <?php print($_POST['a-1']) ?> のコードだけですか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

むむ? b.phpがこうじゃないの? <?php $happys = array('a-1'=>'テレビ','a-2'=>'パソコン','a-3'=>'犬','a-4'=>'ゲーム'); foreach($happys as $hkey=>$hvalue) { print('<label for="' . $hkey . '">' . $hvalue . '</label><input type="checkbox" name="'. $hkey . '" value="' . $hvalue . '"/>'); } ?>

sryou1985kun
質問者

補足

おっしゃる通りにコードを変更しましたが、まだうまくいきません。

関連するQ&A