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

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

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

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

HTML

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

CSS

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

Q&A

解決済

2回答

1843閲覧

お問い合わせ 送信フォームを作成したい

mariueda

総合スコア8

PHP

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/05/11 09:45

編集2020/05/11 09:56

現在お問い合わせフォームを作成しています。phpの知識が薄く助けていただきたいです。
htmlファイル内にコンタクトフォームを作成し、jQueryで確認画面を作成しました。(同じhtml内で切り替わります)
html内でphpを読み込むようにしています。

この状態から「送信」を押して自分のメールアドレスに送信したいです。
phpファイルへ飛ばすようにしましたが、phpファイル内に記述した内容が表示されるだけでうまくいきません。

html

1 <section id="cd_6" class="contact"> 2 <div class="title"> 3 <p> 4 CONTACT 5 </p> 6 </div> 7 <div class="contact_main"> 8 <p>sample</p> 9 </div> 10 <div class="contact_main_sp"> 11 <p>sample2</p> 12 </div> 13 <div class="contact1"> 14 <p>TEL:00-0000-0000 15 <br />FAX:00-0000-0000</p> 16 </div> 17 <form action="./confirm.php" method="post" class="autoConfirm"> 18 <div class="contact_txt"> 19 <p>お問い合わせ内容を選択してください<span>*</span> 20 </p> 21 22 <div class="radio-wrap"> 23 <input id="radio1" type="radio" name="radio" value="radiobtn"> 24 <label for="radio1" style> 25 <span>項目1</span> 26 </label> 27 28 29 <input id="radio2" type="radio" name="radio" value="radiobtn"> 30 <label for="radio2" style> 31 <span>項目2</span> 32 </label> 33 34 <input id="radio3" type="radio" name="radio" value="radiobtn"> 35 <label for="radio3" style> 36 <span>項目3</span> 37 </label> 38 </div> 39 40 <!-- contact --> 41 <div class="contact-form"> 42 <!-- <form class="contact-form" action="//www-creators.com/rsc/receiver.php" method="post"> --> 43 <div class="item1"> 44 <label class="label" for="name" name="name">名前<span>*</span></label> 45 <input id="name" type="text"> 46 </div> 47 <div class="item2"> 48 <label class="label" for="name" name="name">フリガナ<span>*</span></label> 49 <input id="furigana" type="text"> 50 </div> 51 <div class="item"> 52 <label class="label" for="e-mail">メールアドレス<span>*</span></label> 53 <input id="email" type="text" name="email"> 54 </div> 55 <div class="item3"> 56 <label class="label" for="tel">電話番号<span>*</span></label> 57 <input id="tel" type="text" name="tel"> 58 </div> 59 <div class="item"> 60 <label class="label" for="message">お問い合わせ内容</label> 61 <textarea id="message" rows="12" cols="80" placeholder="" name="otoiawase"></textarea> 62 </div> 63 <div class="submit-wrap"> 64 <input type="submit" name="confirmation" value="確 認"> 65 <a href="#cd_6"> 66 <input type="button" value="戻る" class="autoConfirmBack" style="display:none;"> 67 </a> 68 </div> 69 <p><span>*</span>入力必須項目です。</p> 70 <!-- </form> --> 71 </div> 72 </div> 73 </form> 74 <!-- ///contact -->

css

1.contact { 2 text-align: center; 3 background-color: #F7F7F7; 4 padding-bottom: 5%; 5 margin-bottom: -5%; 6} 7 8.contact .title { 9 padding-top: 3%; 10 padding-bottom: 3%; 11} 12 13.contact1 { 14 padding-top: 3%; 15 padding-bottom: 3%; 16} 17 18.contact_txt { 19 color: #06264D; 20} 21 22.contact_txt span { 23 color: #FF0D7D; 24 /* margin-left: .5%; */ 25} 26 27.contact_txt_sp span { 28 color: #FF0D7D; 29 /* margin-left: .5%; */ 30} 31 32.contact_txt_sp input[type="radio"] { 33 margin-top: 2%; 34 margin-bottom: 2%; 35} 36 37.radio-wrap { 38 margin-top: 2%; 39 margin-bottom: 2%; 40} 41 42.radio-wrap label { 43 margin-right: 4%; 44} 45 46.radio-wrap span { 47 color: #656363; 48} 49 50.contact-form { 51 /* border: 1px solid #ccc; */ 52 padding: 10px; 53 font-size: 13px; 54 /* font-family: sans-serif; */ 55} 56 57 58/* item1 */ 59 60.contact-form .item1 { 61 display: block; 62 overflow: hidden; 63 margin-bottom: 10px; 64} 65 66.contact-form .item1.no-label { 67 padding: 5px 0px 5px 60px; 68} 69 70.contact-form .item1 .label { 71 float: left; 72 padding: 5px; 73 margin: 0; 74 margin-left: 32%; 75} 76 77.contact-form .item1 .radio-group { 78 padding: 5px 0px 5px 60px; 79} 80 81.contact-form .item1 input[type=text], 82.contact-form .item1 input[type=email], 83.contact-form .item1 textarea { 84 display: block; 85 margin-left: 40%; 86 /* margin-left: 37%; */ 87 width: 35%; 88 padding: 5px; 89 border: 1px solid #ccc; 90 box-sizing: border-box; 91 font-size: 13px; 92} 93 94.contact-form .item1 ::placeholder { 95 color: #ccc; 96} 97 98.contact-form .item1 textarea { 99 outline: none; 100 border: 1px solid #ccc; 101 resize: vertical; 102} 103 104 105/* ///item1 */ 106 107 108/* item2 */ 109 110.contact-form .item2 { 111 display: block; 112 overflow: hidden; 113 margin-bottom: 10px; 114} 115 116.contact-form .item2.no-label { 117 padding: 5px 0px 5px 60px; 118} 119 120.contact-form .item2 .label { 121 float: left; 122 padding: 5px; 123 margin: 0; 124 margin-left: 30%; 125} 126 127.contact-form .item2 .radio-group { 128 padding: 5px 0px 5px 60px; 129} 130 131.contact-form .item2 input[type=text], 132.contact-form .item2 input[type=email], 133.contact-form .item2 textarea { 134 display: block; 135 margin-left: 40%; 136 /* margin-left: 37%; */ 137 width: 35%; 138 padding: 5px; 139 border: 1px solid #ccc; 140 box-sizing: border-box; 141 font-size: 13px; 142} 143 144.contact-form .item2 ::placeholder { 145 color: #ccc; 146} 147 148.contact-form .item2 textarea { 149 outline: none; 150 border: 1px solid #ccc; 151 resize: vertical; 152} 153 154 155/* ///item2 */ 156 157 158/* item3 */ 159 160.contact-form .item3 { 161 display: block; 162 overflow: hidden; 163 margin-bottom: 10px; 164} 165 166.contact-form .item3.no-label { 167 padding: 5px 0px 5px 60px; 168} 169 170.contact-form .item3 .label { 171 float: left; 172 padding: 5px; 173 margin: 0; 174 margin-left: 30%; 175} 176 177.contact-form .item3 .radio-group { 178 padding: 5px 0px 5px 60px; 179} 180 181.contact-form .item3 input[type=text], 182.contact-form .item3 input[type=email], 183.contact-form .item3 textarea { 184 display: block; 185 margin-left: 40%; 186 /* margin-left: 37%; */ 187 width: 35%; 188 padding: 5px; 189 border: 1px solid #ccc; 190 box-sizing: border-box; 191 font-size: 13px; 192} 193 194.contact-form .item3 ::placeholder { 195 color: #ccc; 196} 197 198.contact-form .item3 textarea { 199 outline: none; 200 border: 1px solid #ccc; 201 resize: vertical; 202} 203 204 205/* ///item3 */ 206 207.contact-form .item { 208 display: block; 209 overflow: hidden; 210 margin-bottom: 10px; 211} 212 213.contact-form .item.no-label { 214 padding: 5px 0px 5px 60px; 215} 216 217.contact-form .item .label { 218 float: left; 219 padding: 5px; 220 margin: 0; 221 margin-left: 27%; 222} 223 224.contact-form .item .radio-group { 225 padding: 5px 0px 5px 60px; 226} 227 228.contact-form .item input[type=text], 229.contact-form .item input[type=email], 230.contact-form .item textarea { 231 display: block; 232 margin-left: 40%; 233 /* margin-left: 37%; */ 234 width: 35%; 235 padding: 5px; 236 border: 1px solid #ccc; 237 box-sizing: border-box; 238 font-size: 13px; 239} 240 241.contact-form .item ::placeholder { 242 color: #ccc; 243} 244 245.contact-form .item textarea { 246 outline: none; 247 border: 1px solid #ccc; 248 resize: vertical; 249} 250 251.contact_txt_sp { 252 display: none; 253} 254 255input[type='submit'] { 256 border: 1px solid #707070; 257 display: block; 258 width: 100%; 259 max-width: 190px; 260 padding: 10px; 261 border-radius: 10px; 262 background-color: #F7F7F7; 263 color: #06264D; 264 font-weight: bold; 265 font-size: 1.2rem; 266 appearance: none; 267 -webkit-appearance: none; 268 -moz-appearance: none; 269 cursor: pointer; 270 margin: 2% auto; 271} 272 273input[type='button'] { 274 border: 1px solid #707070; 275 display: block; 276 width: 100%; 277 max-width: 190px; 278 padding: 10px; 279 border-radius: 10px; 280 background-color: #06264D; 281 color: #ffff; 282 font-weight: bold; 283 font-size: 1.2rem; 284 appearance: none; 285 -webkit-appearance: none; 286 -moz-appearance: none; 287 cursor: pointer; 288 margin: 2% auto; 289} 290 291.input { 292 color: #06264D; 293

php

1<?php 2session_start(); 3 4$_SESSION = $_POST; 5 6if($_SESSION[‘name']==""){ 7 header('Location: http://www.example.com/'); 8 exit(); 9} 10 11$add_header="From:info@example.com\n"; // 送信者のメールアドレス 12 13$add_header .= "Reply-to: info@example.com\n"; // 送信者のメールアドレス 14 15$mail = 'info@example.com'; // 送信者のメールアドレスを格納 16 17// ヒアドキュメント<<< HTML、文字列、何いれてもOK; 18$message =<<<HTML 19{$_SESSION['name']}20この度はお問い合わせいただきまして、誠にありがとうございます。 21いただいたメールを確認の上、3営業日以内に何らかのご連絡をさせていただきます。 22今回お問い合わせいただいている内容は、 23◆お名前 24{$_SESSION['name']} 25◆E_mail 26{$_SESSION['email']} 27◆お問い合わせ内容 28{$_SESSION['message']} 29HTML; 30 31mb_language("ja"); // カレントの言語を日本語に設定する 32 33mb_internal_encoding("UTF-8"); // 内部文字エンコードを設定する 34 35mb_send_mail($_POST['email'],"お問い合わせありがとうございます",$message,$add_header,$mail); 36 37//mb_send_mail(送信先メールアドレス,"メールのタイトル","メール本文","メールのヘッダーFrom、Reply-toなど”,”送信エラーを送るメールアドレス”); 38 39//管理者にも同じ内容のメールを送信する 40 41mb_send_mail($mail,"お問い合わせがありました",$message,$add_header,$mail); 42 43session_destroy(); // セッションを破棄する 44?> 45 46<!DOCTYPE html> 47<html> 48 <head> 49 <meta charset="UTF-8"> 50 <title>Contact form</title> 51 </head> 52 <body> 53 <p>送信完了しました。</p> 54 <p>※記入されたメールアドレス宛に、自動返信で確認メールが届きます。確認メールが届かない場合は、メールアドレスを確認のうえ再度お問い合わせください。</p> 55 </body> 56</html>

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

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

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

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

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

m.ts10806

2020/05/11 09:49

回答してますが今後このノリで質問投げられてもお互い困るので指摘します。 コードをマークダウンのcode機能で提示してください。 コピペで再現確認できる必要があります。ですので、アクセスURLも含めて提示してください。 質問は編集できます。
mariueda

2020/05/11 09:56

コードを追記しました。
m.ts10806

2020/05/11 10:04

未完成ならドメイン部分は隠されたほうが。 脆弱性突かれて攻撃されますよ。
m.ts10806

2020/05/11 10:25

例示ドメインにしてください。 実在のサイトや今後そのドメインを取得するサイトに迷惑をかけます
mariueda

2020/05/11 10:31

例示ドメインとはどのようなものでしょうか?
kei344

2020/05/11 11:30

使われているサーバはPHPが動く環境なのでしょうか。
mariueda

2020/05/12 00:36

おそらく動くと思います。
m.ts10806

2020/05/12 03:32

「例示ドメイン」で検索すれば出てきますよ。
guest

回答2

0

超推測ですが過去質問に頻出の現象なので回答します。

htmlもhttpでアクセスしてください。

投稿2020/05/11 09:47

m.ts10806

総合スコア80765

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

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

m.ts10806

2020/05/11 09:51

ローカルに環境構築しているのなら、そちらのWebサーバでも構いません。 が、別途コメントで指摘した対応もお願いします
guest

0

自己解決

下記phpファイルを作成したことで無事メールが自分宛に送信されました。

php

1<?php 2session_start(); 3 4//クリックジャッキング対策 5header('X-FRAME-OPTIONS: SAMEORIGIN'); 6 7// HTML特殊文字をエスケープする関数 8function escape($str) { 9 return htmlspecialchars($str,ENT_QUOTES,'UTF-8'); 10} 11 12//前後にある半角全角スペースを削除する関数 13function spaceTrim ($str) { 14 // 行頭 15 $str = preg_replace('/^[  ]+/u', '', $str); 16 // 末尾 17 $str = preg_replace('/[  ]+$/u', '', $str); 18 return $str; 19} 20 21//tokenを変数に入れる 22$token = $_POST['token']; 23 24// トークンを確認し、確認画面を表示 25if(!(hash_equals($token, $_SESSION['token']) && empty($token))) { 26 echo "不正アクセスの可能性があります"; 27 exit(); 28} 29?> 30<!DOCTYPE html> 31<html> 32<head> 33<meta charset="UTF-8"> 34<title>メール送信完了|メール送信フォーム</title> 35</head> 36<body> 37 38<?php 39/******************************* 40 データの受け取り 41*******************************/ 42$name = $_POST["name"]; //名前 43$furigana = $_POST["furigana"]; 44$email = $_POST["email"]; //メールアドレス 45$tel = $_POST["tel"]; 46$message = $_POST["message"]; //お問合せ内容 47 48//危険な文字列を入力された場合にそのまま利用しない対策 49$radio = htmlspecialchars($radio, ENT_QUOTES); 50$name = htmlspecialchars($name, ENT_QUOTES); 51$furigana = htmlspecialchars($furigana, ENT_QUOTES); 52$email = htmlspecialchars($email, ENT_QUOTES); 53$tel = htmlspecialchars($tel, ENT_QUOTES); 54$message = htmlspecialchars($message, ENT_QUOTES); 55 56/******************************* 57 未入力チェック 58*******************************/ 59$errmsg = ''; //エラーメッセージを空にしておく 60if ($name == '') { 61 $errmsg = $errmsg.'<p>名前が入力されていません。</p>'; 62} 63if ($furigana == '') { 64 $errmsg = $errmsg.'<p>フリガナが入力されていません。</p>'; 65} 66if ($email == '') { 67 $errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>'; 68} 69if ($tel == '') { 70 $errmsg = $errmsg.'<p>電話番号が入力されていません。</p>'; 71} 72if ($message == '') { 73 $errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>'; 74} 75 76/******************************* 77 メール送信の実行 78*******************************/ 79if ($errmsg != '') { 80 //エラーメッセージが空ではない場合には、[前のページへ戻る]ボタンを表示する 81 echo $errmsg; 82 83 //[前のページへ戻る]ボタンを表示する 84 echo '<form method="post" action="index.html">'; 85 echo '<input type="hidden" name="name" value="'.$name.'">'; 86 echo '<input type="hidden" name="name" value="'.$furigana.'">'; 87 echo '<input type="hidden" name="email" value="'.$email.'">'; 88 echo '<input type="hidden" name="name" value="'.$tel.'">'; 89 echo '<input type="hidden" name="message" value="'.$message.'">'; 90 echo '<input type="submit" name="backbtn" value="前のページへ戻る">'; 91 echo '</form>'; 92} else { 93 //エラーメッセージが空の場合には、メール送信処理を実行する 94 //メール本文の作成 95 $honbun = ''; 96 $honbun .= "メールフォームよりお問い合わせがありました。\n\n"; 97 $honbun .= "【お名前】\n"; 98 $honbun .= $name."\n\n"; 99 $honbun .= "【フリガナ】\n"; 100 $honbun .= $furigana."\n\n"; 101 $honbun .= "【メールアドレス】\n"; 102 $honbun .= $email."\n\n"; 103 $honbun .= "【電話番号】\n"; 104 $honbun .= $tel."\n\n"; 105 $honbun .= "【お問い合わせ内容】\n"; 106 $honbun .= $message."\n\n"; 107 108 //エンコード処理 109 mb_language("Japanese"); 110 mb_internal_encoding("UTF-8"); 111 112 //メールの作成 113 $mail_to = "sample@gmail.com"; //送信先メールアドレス 114 $mail_subject = "メールフォームよりお問い合わせ"; //メールの件名 115 $mail_body = $honbun; //メールの本文 116 $mail_header = "from:".$email; //送信元として表示されるメールアドレス 117 $parameter="-f sample@gmail.com"; 118 119 //メール送信処理 120 $mailsousin = mb_send_mail($mail_to, $mail_subject, $mail_body, $mail_header,$parameter); 121 122 //メール送信結果 123 if($mailsousin == true) { 124 echo '<p>お問い合わせメールを送信しました。</p>'; 125 ?> 126 <script> 127 window.location = 'http://sample.ne.jp/sample/index.html'; 128 </script> 129 <?php 130 } else { 131 echo '<p>メール送信でエラーが発生しました。</p>'; 132 } 133} 134?> 135 136</body> 137</html>

投稿2020/05/12 14:52

mariueda

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問