あなたの習慣について教えてください!!

簡易的な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に移動
するプログラムを作成しているのですが、うまく移動しません。
案がありましたら是非ご教授ください。
まだプログラムを勉強中なので少し解説をつけていただくとうれしいです。
よろしくお願いします。

A 回答 (1件)

何をやろうとしているのかよく解らないけど、とりあえず、キー名は''で括ってちゃんと文字列と認識されるようにして下さい


$_POST[test1] ×
$_POST['test1'] ○
それから、htmlタグ書式として、属性値は ""または''で必ず括る癖を付けましょう。
入れる値によっては、htmlとしてエラーになって表示出来なかったり、クロスサイトインジェクション攻撃をもろに受けます。
echo "<input type='radio' name='test2' value='". htmlspecialchars($data[1])."'>"
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!