質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

1079閲覧

phpで作成したメールフォームから届いたメールにPOSTから受け取った情報が反映されない

Ujii

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/30 00:55

編集2021/06/30 01:35

前提・実現したいこと

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を使用しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/06/30 00:58

ソースコードはMarkDownのcode機能でご提示ください。 ソースコード全体を選択して<code>ボタンを押した後に、 「ここに言語名を入力」と書いている物を言語名に置き換えてください。
Ujii

2021/06/30 01:08

迅速なアドバイスありがとうございます 初めて使うので仕様がよくわからないのですがこれであってますでしょうか?
K_3578

2021/06/30 01:14

あー、なんか変な感じになってますね。 言語名の場所はPHPであればPHPと書いてください。 PHPタグ(<?php)はコードの一部ですから、バッククォート(```)の下に移動させてください。 ↓こんな感じ ```PHP <?php
Ujii

2021/06/30 01:19

丁寧に教えていただきありがとうございます これでよろしいでしょうか?
K_3578

2021/06/30 01:21

はい、良いと思います。因みに、質問編集画面の右側に出ているプレビューが他ユーザーから見える質問文と同じ表示がリアルタイムで更新されるので、以降質問編集する際にはそれを見ながら調整するようにすると 良いです。
Ujii

2021/06/30 01:27

初めての質問で不安だったのでとても助かりました、、! ありがとうございます!
K_3578

2021/06/30 01:31

以降もteratailを使う予定ならば、teratailのヘルプページは読んでおいた方が良いです。 特に、「質問するときのヒント」はteratailに限らず、この手のQAサイトを使うのなら読んでおく価値はあるものです。 https://teratail.com/help
Ujii

2021/06/30 05:32

すみません、立て込んでしまい返信が遅くなりました 目を通しておきますありがとうございました!
K_3578

2021/06/30 05:33

すいません、こちらこそ長々と。 ご対応ありがとうございました。
guest

回答1

0

まずパッと見て気が付いたこと

$_POST['username'.'username2']

これは

$_POST['usernameusername2']

と同じです。

意図したのは

$_POST['username'] . $_POST['username2']

ではないですか?

投稿2021/06/30 01:12

編集2021/06/30 01:13
itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ujii

2021/06/30 01:15

たしかにそうでした、内容が表示すらされないから気づきませんでしたありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問