前提・実現したいこと
phpでメールフォームを作成しました
メールを送るところまでは正常に動きます
発生している問題・エラーメッセージ
届いたメールの本文の"お問い合わせ日時:" . date("Y-m-d H:i")以外のpostされている情報が空白になってしまいます。
エラーメッセージ
PHP
1<?php 2 3// 変数の初期化 4$page_flag = 0; 5$error = array(); 6if( !empty($_POST['btn_confirm'])){ 7 8 $error = validation($_POST); 9 10 if( empty($error) ) { 11 $page_flag = 1; 12 } 13 14} elseif( !empty($_POST["btn_submit"])){ 15 16 $page_flag = 2; 17 18 19 // 変数とタイムゾーンを初期化 20 $header = null; 21 $auto_reply_subject = null; 22 $auto_reply_text = null; 23 $admin_reply_subject = null; 24 $admin_reply_text = null; 25 date_default_timezone_set('Asia/Tokyo'); 26 27 28 29 // ヘッダー情報を設定 30 $header = "MIME-Version: 1.0\n"; 31 $header .= "From: 運営会社名 <運営会社のメールアドレス>\n"; 32 $header .= "Reply-To: 運営会社名 <運営会社のメールアドレス>\n"; 33 34 // 件名を設定 35 $auto_reply_subject = 'お問い合わせありがとうございます。'; 36 37 // 本文を設定 38 $auto_reply_text = "この度は、お問い合わせ頂き誠にありがとうございます。 39 下記の内容でお問い合わせを受け付けました。\n\n"; 40 $auto_reply_text .= "お問い合わせ日時:" . date("Y-m-d H:i") . "\n"; 41 $auto_reply_text .= "氏名:" . $_POST['username'.'username2'] . "\n"; 42 $auto_reply_text .= "メールアドレス:" . $_POST['emailaddress'] . "\n\n"; 43 $auto_reply_text .= "運営先会社名"; 44 45 // メール送信 46 mb_send_mail( $_POST['emailaddress'], $auto_reply_subject, $auto_reply_text, $header); 47 48 // 運営側へ送るメールの件名 49 $admin_reply_subject = "お問い合わせを受け付けました"; 50 51 // 本文を設定 52 $admin_reply_text = "下記の内容でお問い合わせがありました。\n\n"; 53 $admin_reply_text .= "お問い合わせ日時:" .date("Y-m-d H:i") ."\n"; 54 $admin_reply_text .= "ご担当者名(漢字):" .$_POST['username'.'username2']."\n"; 55 $admin_reply_text .= "ご担当者名(かな):" .$_POST['rubyname'.'rubyname2']."\n"; 56 $admin_reply_text .= "郵便番号:" . $_POST['postalcode'] . "\n"; 57 $admin_reply_text .= "住所:" . $_POST['streetaddress'] . "\n"; 58 $admin_reply_text .= "電話番号:" . $_POST['phonenumber'] . "\n"; 59 $admin_reply_text .= "メールアドレス:" . $_POST['emailaddress'] . "\n\n"; 60 $admin_reply_text .= "お問い合わせ内容:" . $_POST['txt'] . "\n"; 61 // 運営側へメール送信 62 mb_send_mail( '送信先メールアドレス', $admin_reply_subject, $admin_reply_text, $header); 63} 64 65 66 67function validation($data) { 68 69 $error = array(); 70 71 // 氏名のバリデーション 72 if( empty($data['username']) || empty($data['username2']) ) { 73 $error[] = "・「ご担当者名(漢字)」は必ず入力してください。"; 74 }elseif(10<mb_strlen($data['username']) || 10<mb_strlen($data['username2'])){ 75 $error[] = "・「ご担当者名(漢字)は10文字以内で入力してください。"; 76 } 77 if( empty($data['rubyname']) || empty($data['rubyname2']) ) { 78 $error[] = "・「ご担当者名(かな)」は必ず入力してください。"; 79 }elseif(10<mb_strlen($data['rubyname']) || 10<mb_strlen($data['rubyname2'])){ 80 $error[] = "・「ご担当者名(かな)は10文字以内で入力してください。"; 81 } 82 if( empty($data['postalcode']) ) { 83 $error[] = "・「郵便番号」は必ず入力してください。"; 84 }elseif(!preg_match("/[0-9]{3}-[0-9]{4}$/", $data['postalcode']) ){ 85 $error[] = '・「郵便番号」の書式(000-0000)で入力してください。'; 86} 87 if( empty($data['streetaddress']) ) { 88 $error[] = "・「住所」は必ず入力してください。"; 89 } 90 if( empty($data['phonenumber']) ) { 91 $error[] = "・「電話番号」は必ず入力してください。"; 92 }elseif(!preg_match("/^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/", $data['phonenumber'])){ 93 $error[] = "・「電話番号」は正しい形式で入力してください。"; 94 } 95 if( empty($data['emailaddress']) ) { 96 $error[] = "・「メールアドレス」は必ず入力してください。"; 97 } elseif( !preg_match( '/^[0-9a-z_./?-]+@([0-9a-z-]+.)+[0-9a-z-]+$/', $data['emailaddress']) ) { 98 $error[] = "「メールアドレス」は正しい形式で入力してください。"; 99 } 100 if( empty($data['txt']) ) { 101 $error[] = "・「お問い合せ内容」」は必ず入力してください。"; 102 } 103 return $error; 104} 105?> 106 107 108<?php if($page_flag === 1 ):?> 109 110<form method="post" action=""> 111<input type="hidden" name="companyname" value="<?php echo $companyname; ?>"> 112<input type="hidden" name="username" value="<?php echo $username; ?>"> 113<input type="hidden" name="username2" value="<?php echo $username2 ?>"> 114<input type="hidden" name="rubyname" value="<?php echo $rubyname; ?>"> 115<input type="hidden" name="rubyname2" value="<?php echo $rubyname2; ?>"> 116<input type="hidden" name="postalcode" value="<?php echo $postalcode; ?>"> 117<input type="hidden" name="streetaddress" value="<?php echo $streetaddress; ?>"> 118<input type="hidden" name="phonenumber" value="<?php echo $phonenumber; ?>"> 119<input type="hidden" name="emailaddress" value="<?php echo $mail; ?>"> 120<input type="hidden" name="txt" value="<?php echo $txt; ?>"> 121 122 123<?php 124$companyname = isset($_POST["companyname"])? $_POST[ 'companyname' ] : NULL; 125$username = isset($_POST["username"])? $_POST[ 'username' ] : NULL; 126$username2 = isset($_POST["username2"])? $_POST[ 'username2' ] : NULL; 127$mail = isset($_POST["emailaddress"])? $_POST[ 'emailaddress' ] : NULL; 128$rubyname = isset($_POST["rubyname"])? $_POST[ 'rubyname' ] : NULL; 129$rubyname2 = isset($_POST["rubyname2"])? $_POST[ 'rubyname2' ] : NULL; 130$postalcode = isset($_POST["postalcode"])? $_POST[ 'postalcode' ] : NULL; 131$streetaddress = isset($_POST["streetaddress"])? $_POST[ 'streetaddress' ] : NULL; 132$phonenumber = isset($_POST["phonenumber"])? $_POST[ 'phonenumber' ] : NULL; 133$email = "送信先メールアドレス"; 134$txt = isset($_POST["txt"])? $_POST[ 'txt' ] : NULL; 135?> 136 137 138<dl class="conform-box"> 139<div class="confirm-item"> 140<div class="confirm-item-top"> 141<dt>企業・団体名</dt><p class="nini2">任意</p></div> 142<dd><?php echo $companyname;?></dd> 143</div> 144<div class="confirm-item"> 145<div class="confirm-item-top"> 146<dt>ご担当者名(漢字)</dt><p class="hissu2">必須</p></div> 147<dd><?php echo $username . $username2;?></dd> 148</div> 149<div class="confirm-item"> 150 <div class="confirm-item-top"> 151<dt>ご担当者名(かな)</dt><p class="hissu2">必須</p></div> 152<dd><?php echo $rubyname . $rubyname2;?></dd> 153</div> 154<div class="confirm-item"> 155 <div class="confirm-item-top"> 156<dt>郵便番号</dt><p class="hissu2">必須</p></div> 157<dd><?php echo $postalcode; ?></dd> 158</div> 159<div class="confirm-item"> 160 <div class="confirm-item-top"> 161<dt>住所</dt><p class="hissu2">必須</p></div> 162<dd><?php echo $streetaddress; ?></dd> 163</div> 164<div class="confirm-item"> 165 <div class="confirm-item-top"> 166<dt>電話番号</dt><p class="hissu2">必須</p></div> 167<dd><?php echo $phonenumber; ?></dd> 168</div> 169<div class="confirm-item"> 170 <div class="confirm-item-top"> 171<dt>メールアドレス</dt><p class="hissu2">必須</p></div> 172<dd><?php echo $mail; ?></dd> 173</div> 174<div class="confirm-item"> 175 <div class="confirm-item-top"> 176<dt>お問い合わせ内容</dt><p class="hissu2">必須</p></div> 177<dd><?php echo $txt; ?></dd> 178</div> 179 </dl> 180<div class="form-text">こちらの入力内容でよろしいでしょうか?</div> 181<div class="btn-box2"> 182<p class="btn2"><img src="imges/btn-sen2.svg"><input type="button" value="内容を修正する" onclick="history.back(-1)"></p> 183<p class="btn3"><button type="submit" name="btn_submit" value="送信する">送信する<img src="imges/btn-sen.svg"></button></p></div> 184</form> 185 186<?php elseif( $page_flag === 2 ): ?> 187<div class="complete-blue"> 188<p>お問い合わせ内容の送信が完了しました</p> 189</div> 190<p class="complete-text"> 191 お問い合わせありがとうございました<br/> 192 内容を確認のうえ、後日ご連絡させて頂きます<br/> 193 しばらくお待ちください。</p> 194 195<div class="btn4"><a href="index.html">トップページに戻る<img src="imges/btn-sen.svg"></a></div> 196 <?php else: ?> 197 198 199 <?php if( !empty($error) ): ?> 200 <ul class="error_list"> 201 <?php foreach( $error as $value ): ?> 202 <li><?php echo $value; ?></li> 203 <?php endforeach; ?> 204 </ul> 205 <?php endif; ?> 206 207 <form method="post" action="" > 208 <dl class="form-box"> 209 <div class="form-item form1" > 210 <dt>企業・団体名</dt><p class="nini">任意</p> 211 <dd><input type="text" name="companyname" value="<?php if( !empty($_POST['companyname']) ){ echo $_POST['companyname']; } ?>" placeholder="例)運営会社名"></dd> 212 </div> 213 <div class="form-item"> 214 <dt>ご担当者名(漢字)</dt><p class="hissu">必須</p> 215 <div class="form2"> 216 <dd><input type="text" name="username" value="<?php if( !empty($_POST['username']) ){ echo $_POST['username']; } ?>" placeholder="例)山田"></dd> 217 <dd><input type="text" name="username2" value="<?php if( !empty($_POST['username2']) ){ echo $_POST['username2']; } ?>" placeholder="例)太郎"></dd> 218 </div></div> 219 <div class="form-item"> 220 <dt>ご担当者名(かな)</dt><p class="hissu">必須</p> 221 <div class="form3"> 222 <dd><input type="text" name="rubyname" value="<?php if( !empty($_POST['rubyname']) ){ echo $_POST['rubyname']; } ?>" placeholder="例)やまだ"></dd> 223 <dd><input type="text" name="rubyname2" value="<?php if( !empty($_POST['rubyname2']) ){ echo $_POST['rubyname2']; } ?>" placeholder="例)たろう"></dd> 224 </div></div> 225 <div class="form-item"> 226 <dt>郵便番号 </dt><p class="hissu">必須</p> 227 <div class="form4"> 228 <dd><h2>〒</h2><input type="text" name="postalcode" value="<?php if( !empty($_POST['postalcode']) ){ echo $_POST['postalcode']; } ?>" placeholder="例)730-0825"><p>(ハイフンあり)(半角英数のみ)</p></dd> 229 </div></div> 230 <div class="form-item"> 231 <dt>住所</dt><p class="hissu">必須</p> 232 <div class="form5"> 233 <dd><input type="text" name="streetaddress" value="<?php if( !empty($_POST['streetaddress']) ){ echo $_POST['streetaddress']; } ?>" placeholder="例)広島市中区光南6丁目3番1号"></dd> 234 </div></div> 235 <div class="form-item"> 236 <dt>電話番号</dt><p class="hissu">必須</p> 237 <div class="form6"> 238 <dd><input type="tel" name="phonenumber" value="<?php if( !empty($_POST['phonenumber']) ){ echo $_POST['phonenumber']; } ?>" placeholder="例)082-244-3533"><p>(ハイフンあり)(半角英数のみ)</p></dd> 239 </div></div> 240 <div class="form-item"> 241 <dt>メールアドレス </dt><p class="hissu">必須</p> 242 <div class="form7"> 243 <dd><input type="email" name="emailaddress" value="<?php if( !empty($_POST['emailaddress']) ){ echo $_POST['emailaddress']; } ?>" placeholder="例)yamada@hirosimatoho.co.jp"></dd> 244 </div></div> 245 <div class="form-item"> 246 <dt>お問い合わせ内容 </dt><p class="hissu">必須</p> 247 <dd><textarea name="txt" rows="5" cols="20" placeholder="例)お問い合わせ内容を入力"><?php if( !empty($_POST['txt']) ){ echo ($_POST['txt']);} ?></textarea></dd> 248 </dl></div> 249 <p class="btn"><img src="imges/btn-sen.svg"><input type="submit" name="btn_confirm" value="入力内容を確認する"> 250 </p> 251 </form> 252 253 <?php endif; ?> 254
試したこと
最後のページでvar_dump($_POST);したところNULLと出たのでPOSTの情報が最後まで送られてないと思うのですがどこのコードが違うのかわかりません
補足情報(FW/ツールのバージョンなど)
MACでDwを使用しています