PHP上のアンケートフォームで受け取った内容を保存したい
現在PHPでアンケートを作成しており、後からデータを閲覧、管理できるようにファイル等に保存する機能保存ボタンを搭載しようと思っています。
そこでどのように何をしたらよいのかわかりません。よければコード付きで分かりやすく教えていただきたいです。
・独学&初学者なので知識等が乏しいです。申し訳ありません。
・アンケート入力ページと、その入力内容をチェックさせる確認ページは作成済みです。
・保存ボタンは確認ページに設置したいです。
コード<?php //文字コードの設定(文字化けを起こす場合に記述する) header("Content-Type: text/html; charset=UTF-8"); //フォームデータが空の場合は強制終了 if(empty($_POST)){ echo "処理終了"; exit; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HealthRecord</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1><left>確認画面</left></h1> <p>※この内容でよろしいですか?</p> <?php $date=htmlspecialchars($_POST["date"],ENT_QUOTES,"UTF-8"); if(empty($date)){ echo "日付を入力してください。"; exit; } $bodytemperrature=htmlspecialchars($_POST["bodytemperrature"],ENT_QUOTES,"UTF-8"); if(empty($bodytemperrature)){ echo "体温を入力してください。"; exit; } $timesofday=htmlspecialchars($_POST["timesofday"],ENT_QUOTES,"UTF-8"); if(empty($timesofday)){ echo "測定時刻を入力してください。"; exit; } $condition=htmlspecialchars($_POST["condition"],ENT_QUOTES,"UTF-8"); if(empty($condition)){ echo "体調を選択してください。"; exit; } $symptoms=htmlspecialchars($_POST["symptoms"],ENT_QUOTES,"UTF-8"); if(empty($symptoms)){ echo "症状を選択してください。"; exit; } $others=htmlspecialchars($_POST["others"],ENT_QUOTES,"UTF-8"); if(empty($others)){ echo "その他の症状がある場合は記入し、ない場合はなしと記入してください"; exit; } ?> <!-- アンケート回答の確認表示 --> <form method="post" action="submit.php"> <table> <tr> <th>日付</th> <td><?php echo $date; ?></td> </tr> <tr> <th>体温</th> <td><?php echo $bodytemperrature; ?></td> </tr> <th>測定時刻</th> <td><?php echo $timesofday; ?></td> </tr> <tr> <th>体調</th> <td><?php echo $condition;?></td> </tr> <th>症状</th> <td><?php echo $symptoms;?></td> </tr> <th>その他</th> <td><?php echo $others;?></td> </tr> <tr> <td colspan="3"> <input type="button" onclick="history.back()" value="前に戻る" ></td> </tr> <tr> <td colspan="3"><input type="submit" value="回答を保存する"></td> </tr> </table> <!-- hiddenフィールド --> <input type="hidden" name="date" value="<?php echo $date; ?>"> <input type="hidden" name="bodytemperrature" value="<?php echo $bodytemperrature; ?>"> <input type="hidden" name="timesofday" value="<?php echo $timesofday; ?>"> <input type="hidden" name="condition" value="<?php echo $condition; ?>"> <input type="hidden" name="symptoms" value="<?php echo $symptoms; ?>"> <input type="hidden" name="others" value="<?php echo $others; ?>"> </form> </body> </html>
そのデータをデータベースで管理するのか、それともただのテキストファイルとしてサーバー内のどこかに保管して読み書きするのか、その場合、そのファイルの中身はどういうフォーマットにするか、まずはそのあたりから考えていく必要があると思います。
「PHP アンケートフォーム 作り方」などで検索してみてください。色々なページがでてきますよ。
参考)
https://www.webdesignleaves.com/pr/php/php_basic_06.php
このページもテキストファイルに保存する方法が書かれています。itagakiさんも指摘されていますが、テキストファイルへの保存以外の方法もありますので、それをやりたいのであれば自分で検索ワードを変えて調べてください。
色々やってみてエラーが出るから教えてほしいとかなら回答する側もお伝えできることもあると思うのですが、この質問のように一からすべてとなるとさすがに回答する方も難しいです(teratailでは推奨されていない「やってほしいことを丸投げ」のようにも見えます)。まずは頑張って色々調べてみて、できるところまでやってみるのがいいと思いますよ。