お問合せフォームの作成

今回は入力画面、確認画面、完了画面の3ステップでお問合せフォームを作成します。
項目は

  • お名前
  • メールアドレス
  • お問い合わせ内容


入力画面
input.php

<!DOCTYPE html>
<html lang="ja">
<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">
<title>入力画面</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>入力画面</h1>
<form action="confirm.php" method="post">
<dl class="list">
<dt>お名前<span>必須</span></dt>
<dd><input type="text" name="onamae" required placeholder="お名前を入力して下さい" autocomplete="name"></dd>
<dt>メールアドレス<span>必須</span></dt>
<dd>
<input type="email" name="email" required placeholder="メールアドレスを入力して下さい" autocomplete="email">
</dd>
<dt>お問い合わせ内容<span>必須</span></dt>
<dd>
<textarea name="message" required placeholder="お問い合わせ内容をご入力して下さい"></textarea>
</dd>
</dl>
<div class="btn-wrapper">
<input type="submit" value="確認画面へ">
<input type="reset" value="リセット">
</div>
</form>
</body>
</html>


確認画面
confirm.php

<?php
$name = $_POST["onamae"];
$email = $_POST["email"];
$message = $_POST["message"];
?>
<!DOCTYPE html>
<html lang="ja">
<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">
<title>phpでの変数と文字列の扱い方</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>確認画面</h1>
<form id="g-form" action="Google FormのURL" method="post">
<dl class="list">
<dt>お名前</dt>
<dd>
<?php echo $name; ?>
</dd>
<dt>メールアドレス</dt>
<dd><?php echo $email; ?></dd>
<dt>お問い合わせ内容</dt>
<dd><?php echo $message; ?></dd>
</dl>

<!-- googleにデータを送る -->
<input type="hidden" name="GoogleFormの値" value="<?php echo $name; ?>">
<input type="hidden" name="GoogleFormの値" value="<?php echo $email; ?>">
<input type="hidden" name="GoogleFormの値" value="<?php echo $message; ?>">


<div class="btn-wrapper">
<input type="submit" value="送信">
<input type="button" value="入力画面に戻る">
</div>
</form>


<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js'></script>
<script>
$(function(){
$('#g-form').submit(function (event) {
var formData = $('#g-form').serialize();
$.ajax({
  url: "Google FormのURL",
  data: formData,
  type: "POST",
  dataType: "xml",
  statusCode: {
    0: function(){
      window.location.href = "thanks.html";
      },
    200: function(){
     //失敗したときの処理
      }
    }
  });
//googleformへのページ遷移をキャンセル
event.preventDefault();
});
});
</script>

</body>
</html>


完了画面
thanks.html

<!DOCTYPE html>
<html lang="ja">
<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">
<title>完了画面</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>完了画面</h1>
<p>お問い合わせありがとうございます。
このたびは、株式会社○○○○へお問い合わせ頂き誠にありがとうございます。<br>
お送り頂きました内容を確認の上、○営業日以内に折り返しご連絡させて頂きます。<br>
また、ご記入頂いたメールアドレスへ、自動返信の確認メールをお送りしております。</p>
<p><a href="input.php">入力画面に戻る</a></p>
</body>
</html>