- ベストアンサー
POSTの配列名に変数を使用したい
- 質問内容は、$_POSTの配列名に変数を使いたい場合の正しい書き方についてです。
- 質問者は、入力フォームで生成されたセレクトボックスの選択値を保持するため、$_POSTの配列名に変数を使用したいと考えています。
- しかし、質問者の試みではシンタックスエラーが発生し、解決策がわからない状況です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
連投失礼します 4~5行目を以下のようにすれば、たぶん欲しい動作になると思います echo '<option value="' . $i.'"'; if ($i === $_POST["item" . $a . "_count"]){ echo 'selected="selected"';}
その他の回答 (2)
- koke29
- ベストアンサー率58% (114/196)
サンプル実行してみたところ 5 if ($i === $_POST["item" . $a . "_count"]){ echo selected="selected"; } ここが引っかかってました echo selected="selected"; ここをシングルクォートで囲えばOKだと思います でも、実行したファイルのセレクト内の値は1,3,5,7,9 が 複数繰り返すような内容でしたが あれで良いのでしょうか??
- march4
- ベストアンサー率50% (12/24)
回答ではありませんが、 もう少し情報が多いと答えやすいかなと思います。 具体的には、 どの行でシンタックスエラーが出ているのか、 そして、その内容(英文)はどんなものか、 これらが欲しい所です。(コピペされるだけで結構かと) それと、 $_POST[item . $a . _count] の部分は、 $_POST["item". $a ."_count"] とした方が良いと思います。 クオテーションでくくらない場合、 Noticeが吐かれますので、ご注意下さい。 情報が多ければ、レスもつきやすいかなと思います^^
補足
失礼いたしました!! 実際に試しているソースは↓です。 <? 1 for($a = 1; $a < 11; $a++) { 2 echo '<select name="item' . $a . '_count">' . "\n"; 3 for($i = 0; $i < 11; $i++) { 4 echo '<option value="' . $i . '"; 5 if ($i === $_POST["item" . $a . "_count"]){echo selected="selected";} 6 echo '>' . $i . '</option>' . "\n"; 7 } 8 echo "</select>\n"; 9 } ?> で吐き出しているエラーは、 Parse error: syntax error, unexpected '<' in ~~~/test/test.php on line 7 となります。 if文の書き方が悪いのかな~と思っているのですが。。。 宜しくお願い致します。
お礼
冷静に考えれば確かにそうですね・・・。 ありがとうございます!! お蔭様でスッキリしました!!!