前提・実現したいこと
現在PHPを使ってフォームを作成しているのですが、送信ボタンを押した時に確認ページに飛ばし内容確認した後フォーム送信完了というページを作成しています。
contact.php → confirm.php → complete.phpという流れです。
どなたか分かる方いましたらご教授お願い致します。
発生している問題・エラーメッセージ
現状、contact.phpのフォーム画面にあります送信を押すとjsファイルで書いたアラートメッセージしか表示されずcomfirm.phpファイルに遷移されません。
該当のソースコード
ソースコード ```contact.php <?php session_start(); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>お問い合わせ</title> <link rel="stylesheet" href="contact.css"> </head> <body> <?php include("header.php");?> <div class="contact_box"> <h2>お問い合わせ</h2> <form action="confirm.php" method="POST"> <h3>下記の項目をご記入の上送信ボタンを押してください</h3> <p>送信頂いた件につきましては、当社より折り返しご連絡を差し上げます。</p> <p>なお、ご連絡までにお時間頂く場合もございますので予めご了承ください。</p> <p> <span class="required">*</span> は必須項目となります。 </p> <dl> <dt> <?php if (!empty($_SESSION["button"])) { if (empty($_SESSION["name"]) || mb_strlen($_SESSION["name"]) > 10) { echo '<font color = "red">氏名は必須入力です。10文字以内でご入力ください。</font> '; } } ?> </dt> <dt> <label for="name">氏名</label> <span class="required">*</span> </dt> <dd> <input type = "text" name = "name" id = "name" placeholder="山田太郎" value = "<?php if (isset($_SESSION["name"])) { echo $_SESSION["name"]; }?>"> </dd> </dl> <dl> <dt> <label for="kana">フリガナ</label> <span class="required">*</span> </dt> <dt> <?php if (!empty($_SESSION["button"])) { if (empty($_SESSION["kana"]) || mb_strlen($_SESSION["kana"]) > 10) { echo '<font color = "red">フリガナは必須入力です。10文字以内でご入力ください。</font> '; } } ?> </dt> <dd> <input type = "text" name = "kana" id = "kana" placeholder="ヤマダタロウ" value = "<?php if (isset($_SESSION["kana"])) { echo $_SESSION["kana"]; }?>"> </dd> </dl> <dl> <dt> <label for="tel">電話番号</label> <span class="required">*</span> </dt> <dt> <?php if (!empty($_SESSION["button"])) { if (empty($_SESSION["tel"])) { } elseif (!preg_match("/\A[0-9]+\z/", $_SESSION["tel"])) { echo '<font color = "red">電話番号は0-9の数字のみでご入力ください。</font> '; } } ?> </dt> <dd> <input type = "text" name = "tel" id = "tel" placeholder="09012345678" maxlength="11" value = "<?php if (isset($_SESSION["tel"])) { echo $_SESSION["tel"]; }?>"> </dd> </dl> <dl> <dt> <label for="mail">メールアドレス</label> <span class="required">*</span> </dt> <dt> <?php if (!empty($_SESSION["button"])) { if (empty($_SESSION["mail"]) || !preg_match("/\A([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9])+([a-zA-Z0-9._-])+([a-zA-Z0-9])+\z/", $_SESSION["mail"])) { echo '<font color = "red">メールアドレスは正しくご入力ください。</font> '; } } ?> </dt> <dd> <input type = "text" name = "mail" id = "mail" placeholder="test@test.co.jp" value = "<?php if (isset($_SESSION["mail"])) { echo $_SESSION["mail"]; }?>"> </dd> </dl> <h3> <label for="body"> お問い合わせ内容をご記入ください。 <span class="required">*</span> </label> </h3> <dl class="body"> <dt> <?php if (!empty($_SESSION["button"])) { if (empty($_SESSION["body"])) { echo '<font color = "red">お問い合わせは必須入力です。</font> '; } } ?> </dt> <dd> <textarea name = "body" id = "body"><?php if (isset($_SESSION["body"])) { echo $_SESSION["body"]; }?></textarea> </dd> <dd> <button type="submit" onclick="func1()">送信</button> </dl> </form> </div> <?php include("footer.php");?> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript" src="contact.js"></script> </body> </html>
confirm.php
1 2 3 4<?php 5session_start(); 6 7if (!isset($_SESSION['form'])) { 8 header('Location: contact.php'); 9 exit(); 10} else { 11 $post = $_SESSION['form']; 12} 13 14 15?> 16 17 18 19<!DOCTYPE html> 20<html lang="ja"> 21<head> 22<meta charset="utf-8"> 23<title>Lesson Sample Site</title> 24<link rel="stylesheet" href="confirm.css"> 25</head> 26<body id="app" class="vsc-initialized"> 27 <?php include("header.php");?> 28 <section> 29 <div class="contact_box"> 30 <h2>お問い合わせ</h2> 31 <form action="./complete.php" method="post"> 32 <p>下記の内容をご確認の上送信ボタンを押してください</p> 33 <p>内容を訂正する場合は戻るを押してください。</p> 34 <dl class="confirm"> 35 <dt>氏名</dt> 36 <dd><?php echo htmlspecialchars($_SESSION["name"]); ?></dd> 37 <dt>フリガナ</dt> 38 <dd><?php echo htmlspecialchars($_SESSION["kana"]); ?></dd> 39 <dt>電話番号</dt> 40 <dd><?php echo htmlspecialchars($_SESSION["tel"]); ?></dd> 41 <dt>メールアドレス</dt> 42 <dd><?php echo htmlspecialchars($_SESSION["mail"]); ?></dd> 43 <dt>お問い合わせ内容</dt> 44 <dd><?php echo htmlspecialchars($_SESSION["body"]); ?></dd> 45 <dd class="confirm_btn"> 46 <button type="submit">送 信</button> 47 <a href="contact.php">戻 る</a> 48 </dd> 49 </dl> 50 </form> 51 </div> 52 </section> 53 <?php include("footer.php");?> 54</body> 55</html> 56 57
contact.js
1 2 3 4const func1 = () => { 5 if(( document.querySelector('#name').value.length ) || ( document.querySelector('#kana').value.length ) || ( document.querySelector('#tel').value.length ) || ( document.querySelector('#email').value.length ) || ( document.querySelector('#contact').value.length )){ 6 alert('氏名は必須入力です。10文字以内で入力してください。\nフリガナは必須入力です。10文字以内で入力してください。\n電話番号は0-9の数字のみで入力してください。\nメールアドレスは正しく入力してください。\nお問い合わせ内容は必須入力です。'); 7 } 8} 9
回答2件
あなたの回答
tips
プレビュー