###前提・実現したいこと
PHPの勉強のため,アンケートを作っています.
アンケートの結果をCSVに保存→集計→表示
ということを考えていますが,まず,csvに保存する段階で躓いています.
question.htmlにアンケートがあり,それをconfirm_enq.phpでgetして,data.csvに保存しようとしていますが,data.csvに記録されません.どの段階に問題があるのでしょうか?
###question.html
HTML
1<html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>アンケート</title> 5 </head> 6 <body> 7 <form action="confirm_enq.php" method="get"> 8 <p>名前: <input type="text" name="name" /></p> 9 10 <p>年齢: <input type="text" name="age"></p> 11 <p>性別: 12 男<input type="radio" name="gender" value="男"> 13 女<input type="radio" name="gender" value="女"> 14 </p> 15 <input type="submit" /> 16 </form> 17 </body> 18 </html> 19
###該当のソースコード
HTML
1<html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>アンケート記録</title> 5 </head> 6 7 <?php 8 $name=htmlspecialchars($_GET["name"],ENT_QUOTES); 9 $age=htmlspecialchars($_GET['age'],ENT_QUOTES); 10 $gender=htmlspecialchars($_GET['gender'],ENT_QUOTES); 11 12 $array = array($name,$age,$gender); 13 $handle=fopen('data.csv','a'); 14 flock($handle,LOCK_EX); 15 fputcsv($handle, $array); 16 flock($handle,LOCK_UN); 17 fclose($handle); 18 ?> 19 20 <body> 21記録しました 22</body> 23</html>
###起きていること
正常に終了するが、data.csvの中身が空
という状態です.すでにサーバー上にはアップしてありますが,question.htmlに回答を入力し,送信ボタンを押すとconfirm_enq.phpの画面には正常に遷移します(confirm_enq.phpのbodyに書いてある「記録しました」は表示されます)しかし,csvを覗いてみると何も書かれていません.
回答2件
あなたの回答
tips
プレビュー