input3が入力フォーム、check3が確認画面1、submit3が確認画面です。
check3まではうまくいっていますが、var_dump()で調べてみると、submit3()に配列の値がわたっていない、したがって書き込みもできない状況です。配列の受け渡しについてご教示ください。
<input3>
<check3> ```ここに言語を入力 <?php // check.phpに直接アクセスされたときの対策 if (empty($_POST)) { header('Location: input2.php'); exit(); }<!doctype html> <html lang="ja"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <link rel="stylesheet" href="style.css"> <title>メールフォーム</title> </head> <body> <div class="container mt-3 mb-5"> <h1>メールフォーム</h1> <form method="POST" action="check3.php" enctype="multipart/form-data"> <div class="form-group mb-4"> <label class="col-md-3 col-form-label text-md-right " for="gender">性別</label> <div class="col-md-1 form-check form-check-inline mr-4"> <input class="form-check-input" type="radio" name="gender[]" value="男" id="gender_male" checked> <label class="form-check-label" for="male">男</label> </div> <div class="col-md-2 form-check form-check-inline mr-4"> <input class="form-check-input" type="radio" name="gender[]" value="女" id="gender_female" checked> <label class="form-check-label" for="female">女</label> </div> </div> <div class="form-group mb-4"> <label class="col-md-3 col-form-label text-md-right " for="gift"> オプションの選択</label> <div class="form-check form-check-inline mr-4"> <input class="form-check-input" type="checkbox" name="gift[]" value="あ"> <label class=" form-check-label">あ</label> </div> <div class="form-check form-check-inline mr-4"> <input class="form-check-input" type="checkbox" name="gift[]" value="い"> <label class=" form-check-label">い</label> </div> <div class="form-check form-check-inline mr-4"> <input class="form-check-input" type="checkbox" name="gift[]" value="う"> <label class=" form-check-label">う</label> </div> </div> <div class="row"> <div class="col-12 text-right"> <button type="submit" class="btn btn-primary">送信</button> </div> </div> </form> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> </body> </html>
session_start();
?>
</head> <body> <div class="container"> <h1>ご入力内容</h1> <p>内容を確認してください。</p> <?php //チェックボックスの配列が未定義またはNULLではないか、また配列かどうかを確認 if (isset($_POST['gender']) && is_array($_POST['gender'])) { $gender = $_POST['gender']; } if (isset($_POST['gift']) && is_array($_POST['gift'])) { $gift = $_POST['gift']; } ?> <form method="POST" action="submit3.php"> <table class="table"> <tbody> <tr> <td>性別</td> <td><?php foreach ($gender as $gender_name) { echo '<span>' . $gender_name . '</span>'; } ?></td> </tr> <tr> <td>オプションの選択</td> <td><?php foreach ($gift as $gift_name) { echo '<span>' . $gift_name . "、".'</span>'; } ?></td> </tr> <td align="right" colspan="2"> <input type="submit" name="sub1" value="送信する"> </td> </tr> </table> </form> </div> </body> </html><title>メールフォーム</title>
``` <?php // submit.phpに直接アクセスされたときの対策 if (empty($_POST)) { header('Location: input3.php'); exit(); } session_start() ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <title>メールフォーム</title> </head> <body> <?php //配列が未定義またはNULLではないか、また配列かどうかを確認 if (isset($_POST['gender']) && is_array($_POST['gender'])) { $gender = $_POST['gender']; } if (isset($_POST['gift']) && is_array($_POST['gift'])) { $gift = $_POST['gift']; } // 回答を書き込む準備 $line = array($gender, $gift); //ファイルへの書き込み $file_name="answer.csv"; $fp = fopen($file_name,"a"); //fopen(開くファイル名,追記モード) $return = fputcsv($fp, $line); fclose($fp); ?> </body> </html> ``` ``` ``` ``` ``` ``` ```
check3 に inputタグが無いようですが?