• 締切済み

selectを利用して計算を一つだけ表示したい

はじめましてphp初心者です 計算をしたphp3つのデーターを計算し、 html側からのserect選択し1つだけ答えをphp側に表示させたいのですが うまくprint表示してくれません 以下の内容で行っております HTML側 <form action="​http://localhost/test/**/**.php"​ method="post"> <select name="d" size=1> <option value = "d1">データー1の答え</option> <option value = "d2">データー2の答え</option> <option value = "d3">データー3の答え</option> <option value = "d4">データー4の答え</option> </select> <input type = "submit" value = "表示"> php側 <?php $a = 5; $b = 2; $c = 4; $d = $_POST["d"] ?> <?php //値を取得 $a = $a; $b = $b; $c = $c; $d = $_POST['d']; //セレクトボックスによって処理を変える switch ($d) { case "d1": $answer = $a + $b - $c; break; case "d2": $answer = $a + $b + $c; break; case "d3": $answer = $a - $b - $c; break; case "d4": $answer = $a - $b + $c; break; default: break; } //計算結果を表示 //print ($a." ".$b." ".$c.".$answer."\n"); ?> 計算を表示の部分でおかしくなっていると思うのですが、 根本的に間違えている可能性もあります。 数日悩んでしまい、頭がこんがらがって何が間違っているのかすら 分からなくなってしまっています。 どなたかご教示ねがいませんでしょうか?

みんなの回答

  • cbd_mei
  • ベストアンサー率55% (143/259)
回答No.1

この部分ですが、 //print ($a." ".$b." ".$c.".$answer."\n"); ではなく、 print ($a." ".$b." ".$c.".$answer."\n"); ではないでしょうか。コメントアウトされていますので。 また、 $d = $_POST["d"] の部分ですが、行の最後に「;」がありません。 上記の部分がコピペミス等であるならば、switch 文を実行する前に print を実行して 各変数が正しく代入されているか確認すれば何かしらの情報が得られると 思います。