- 締切済み
困っています。PHPでのC絞込み?
簡易的なCSVファイルを作成し、それを参考に質問をしていくというHPを作成しています。 2点ほど分からないことがありましたので是非ご教授ください。 test.csvの内容は ai,bb,0 ai,cc,0 au,bb,1 au,dd,1 ao,aa,0 ao,cc,0 ao,dd,0 ao,gg,0 とあります。 最初のページ(test1.php)で・ai ・au ・aoを選ぶページをつくます。 (1) CSVファイルを使用して aiを選択した場合、次のページ(test2.php)での選択肢が・bb ・cc 同様に・auの場合、選択肢は・bb ・dd ・aoの場合、選択肢は・aa ・cc ・dd ・ggと表示したいです。 (2) さらに次のページで CSVを見て 0の場合は(test3.php) 1の場合は(test4.php)と移動したいです。 (1)の方は一応できたのですがプログラムの書き方が適切なのかが不安の為 もっと効率のよい書き方があれば教えてください。 test1.phpはhtmlのみのプルダウンなので略。 test2.phpでの自分の書き方は <form action=●●.php method=POST> <input type=hidden name=test1 value=<?php echo"".$_POST[test1].""?>> <?php $file=file("test.csv"); for($i=0;$file[$i]; $i++){ $data=explode(",",$file[$i]); if(($_POST[test1]=="ai")&&($data[0]=="ai")){ echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>"; }elseif(($_POST[test1]=="au")&&($data[0]=="au")){ echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>"; }elseif(($_POST[test1]=="ao")&&($data[0]=="ao")){ echo"<input type=radio name=area value=".$data[1].">".$data[1]."<br>"; } } ?> <input type=submit value="次へ"> (2) ●●.phpを新たに作成して そこでincludeかrequireを使用してtest3.phpかtest4.phpに移動 するプログラムを作成しているのですが、うまく移動しません。 案がありましたら是非ご教授ください。 まだプログラムを勉強中なので少し解説をつけていただくとうれしいです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hrm_mmm
- ベストアンサー率63% (292/459)
何をやろうとしているのかよく解らないけど、とりあえず、キー名は''で括ってちゃんと文字列と認識されるようにして下さい $_POST[test1] × $_POST['test1'] ○ それから、htmlタグ書式として、属性値は ""または''で必ず括る癖を付けましょう。 入れる値によっては、htmlとしてエラーになって表示出来なかったり、クロスサイトインジェクション攻撃をもろに受けます。 echo "<input type='radio' name='test2' value='". htmlspecialchars($data[1])."'>"