###前提・実現したいこと
お問い合わせフォームを作ろうとしています。
input内にそれぞれ情報を入力して【送信】ボタンを押してもinput内の情報が消えてメールが届きます。
また、問い合わせをした方への「問い合わせを受付ました」メールも届きません。
どこが原因となっているかが不明のため教えていただけると幸いです。
簡単な質問で申し訳ないのですがお願いします。
###該当のソースコード
php,html
1コード 2```<?php 3 session_start(); 4?> 5 6<!DOCTYPE html> 7<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 9<?php 10 $mode = 'input'; 11 $errmessage = array(); 12 if( isset($_POST['back']) && $_POST['back'] ) 13 { 14 // 何もしない 15 } else if( isset($_POST['confirm']) && $_POST['confirm'] ) 16 { 17 // 確認画面 18 if( !$_POST['fullname'] ) { 19 $errmessage[] = "名前を入力してください"; 20 } else if( mb_strlen($_POST['fullname']) > 100 ){ 21 $errmessage[] = "名前は100文字以内にしてください"; 22 } 23 $_SESSION['fullname'] = htmlspecialchars($_POST['fullname'], ENT_QUOTES); 24 25 //TEL 26 if( !$_POST['tel'] ) { 27 $errmessage[] = "電話番号を入力してください"; 28 } else if( mb_strlen($_POST['tel']) > 13 ){ 29 $errmessage[] = "電話番号は13文字以内にしてください"; 30 } 31 $_SESSION['tel'] = htmlspecialchars($_POST['tel'], ENT_QUOTES); 32 33 //EMAIL 34 if( !$_POST['email'] ) { 35 $errmessage[] = "Eメールを入力してください"; 36 } else if( mb_strlen($_POST['email']) > 200 ){ 37 $errmessage[] = "Eメールは200文字以内にしてください"; 38 } else if( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ){ 39 $errmessage[] = "メールアドレスが不正です"; 40 } 41 $_SESSION['email'] = htmlspecialchars($_POST['email'], ENT_QUOTES); 42 43 //問い合わせ 44 if( !$_POST['message'] ){ 45 $errmessage[] = "お問い合わせ内容を入力してください"; 46 } else if( mb_strlen($_POST['message']) > 500 ){ 47 $errmessage[] = "お問い合わせ内容は500文字以内にしてください"; 48 } 49 $_SESSION['message'] = htmlspecialchars($_POST['message'], ENT_QUOTES); 50 51 if( $errmessage ){ 52 $mode = 'input'; 53 } else { 54 $mode = 'confirm'; 55 } 56 } else if( isset($_POST['send']) && $_POST['send'] ){ 57 // 送信ボタンを押したとき 58 $message = "お問い合わせを受け付けました \r\n" 59 . "名前: " . $_SESSION['fullname'] . "\r\n" 60 . "電話: " . $_SESSION['tel'] . "\r\n" 61 . "email: " . $_SESSION['email'] . "\r\n" 62 . "お問い合わせ内容:\r\n" 63 . preg_replace("/\r\n|\r|\n/", "\r\n", $_SESSION['message']); 64 65 mail($_SESSION['email'],'お問い合わせありがとうございます',$message); 66 mail('省略@gmail.com','お問い合わせありがとうございます',$message); 67 $_SESSION = array(); 68 $mode = 'send'; 69 } else { 70 $_SESSION['fullname'] = ""; 71 $_SESSION['tel'] = ""; 72 $_SESSION['email'] = ""; 73 $_SESSION['message'] = ""; 74 } 75?> 76</head> 77 78<body> 79 80<?php if( $mode == 'input' ){ ?> 81<?php 82 if( $errmessage ){ 83 echo '<div style="color:red;">'; 84 echo implode('<br>', $errmessage ); 85 echo '</div>'; 86 } 87 ?> 88 89<div id="area9" class="contact"> 90<div class="wmain"> 91<h2 class="after fnt">無料相談フォーム</h2> 92<p class="sub">ただいまご依頼が殺到しております。<br class="sp">お早めにお問い合わせください。</p> 93<div class="mailform"> 94<form action="" method="post" class="nyuryoku"> 95<table> 96<tbody> 97<tr> 98<th class="hissu">お名前</th> 99<td> 100<input type="text" class="form-text" placeholder="例)山田 太郎" name="fullname" value="<?php echo $_SESSION['fullname'] ?>"> 101</td> 102</tr> 103<tr> 104<th class="hissu">メールアドレス</th> 105<td> 106<input type="text" class="form-text" placeholder="例)yamada@example.com" name="email" value="<?php echo $_SESSION['email'] ?>"> 107</td> 108</tr> 109<tr> 110<th class="hissu">電話番号</th> 111<td> 112<input type="text" class="form-text" placeholder="例)03-1234-5678" name="tel" value="<?php echo $_SESSION['tel'] ?>"> 113</td> 114</tr> 115<tr> 116<th class="nini">ご相談内容</th> 117<td> 118<textarea name="message" class="form-textarea" placeholder="ご相談内容をご記入ください。" value="<?php echo $_SESSION['message'] ?>"></textarea> 119</td> 120</tr> 121</tbody> 122</table> 123<div class="center"> 124<input type="submit" name="confirm" value="確認画面へ" class="form-btn-conf form-btn"> 125</div> 126</form> 127 128<?php } else if( $mode == 'confirm' ){ ?> 129 <!-- 確認画面 --> 130 <form action="" class="confirm" method="post" style=" 131 text-align: center; 132 font-size: 1.3rem; 133 line-height: normal; 134"> 135 名前: <?php echo $_SESSION['fullname'] ?><br> 136 電話: <?php echo $_SESSION['tel'] ?><br> 137 Eメール:<?php echo $_SESSION['email'] ?><br> 138 お問い合わせ内容<br> 139 <?php echo nl2br($_SESSION['message']) ?><br> 140 <input type="submit" class="back" name="back" value="戻る" style=" 141 margin-right: 10px; 142"/> 143 <input type="submit" class="send"name="send" value="送信" style=" 144 margin-left: 10px; 145"/> 146 147 </form> 148 <?php } else { ?> 149 <!-- 完了画面 --> 150 <h6>送信しました。 151 <br>お問い合わせありがとうございました。 152 <a href="" class="btn04 home"><span>TOPへ</span></a></h6> 153 <?php } ?> 154 155</div> 156</div> 157</div> 158 159</body></html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/24 21:05
2022/04/26 16:14
2022/04/26 20:41