表題のとおりです。確認画面で止まってしまい、送信されません。
前提
html cssでメールフォームのみの問い合わせフォームを実装し、
PHPを記載して送信しようとしています。
メールのみなので簡単かと思ったのですが、つまづいてしまいました。
どうぞよろしくおねがいします。
発生している問題・エラーメッセージ
確認画面で止まってしまい、送信ボタンが押下されず、送信されない。
index.html
html
1<form method="post" action="form_enteletry.php"> 2 <dl class="form-area"> 3 4 5<!-- メールアドレス記入欄 --> 6 <dt class="tryfotmtext"><label for="mailInput">受付用QRコードを送信するメールアドレスを入力してください</label></dt> 7 8 <dd class="mailAdd"> 9 <input id="mailInput" type="email" name="email" placeholder="mail@mailaddress.co.jp" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" oncopy="return false" onpaste="return false" style="ime-mode:disabled"></dd> 10<!-- メールアドレス記入欄 --> 11 12 </dl> 13 <!-- 8送信ボタン --> 14 <button type="submit" class="btn11"><span>確認する</span></button> 15 <input type="hidden" name="mode" value="post"> 16<!-- 8送信ボタン --> 17 18</form>
verification.tmpl
html
1 <dl class="verification-area"> 2 3 4<!-- メールアドレス記入欄 --> 5 <dt class="tryfotmtext_verification">入力されたメールアドレス</dt> 6 7 <dd class="tryformtext_verification_mailaddress">!email!</dd> 8<!-- メールアドレス記入欄 --> 9 10 </dl> 11 <!-- 8送信ボタン --> 12 <ul class="btn_wrapper"> 13 <li> 14 <a href="javascript:history.back();" class="back">修正する</a></li> 15 <li><button type="submit" class="btn11">送信する</button> 16 <input type="hidden" name="mode" value="send"> 17 <input type="hidden" name="email" value="!email!"></li> 18 </ul>
error.tmpl
html
1<p class="error">!error!</p> 2 <a href="javascript:history.back();" class="back">修正する</a>
done.tmpl
html
1<p class="done">送信完了</p> 2 <a href="../index.html" class="backhome"></a>
form_enteletry.php
PHP
1<?php 2 3#送信先アドレス 4$mailto = "⚫︎"; 5#送信後画面からの戻り先 6$toppage = "index.html"; 7 8#入力情報の受け取りと加工 9 10#$document = implode(' ',$_POST["document"]); 11#var_dump($document); 12$email = $_POST["email"]; 13 14#無効化 15$email = htmlentities($email,ENT_QUOTES, "UTF-8"); 16 17#改行処理 18$email = str_replace("\r\n","", $email); 19 20#入力チェック 21if (!preg_match("/\w+@\w+/",$email)){ error("メールアドレスが未入力であるか、不正です");} 22 23#分岐チェック 24if ($_POST["mode"] == "post"){ conf_form();} 25else if ($_POST["mode"] == "send"){ send_form();} 26#conf_form(); 27 28#確認画面 29function conf_form(){ 30 global $email; 31 32#テンプレート読み込み 33 $conf = fopen("tmpl/verification.tmpl","r") or die; 34 $size = filesize("tmpl/verification.tmpl"); 35 $data = fread($conf, $size); 36 fclose($conf); 37 38#文字置き換え 39 $data = str_replace("!email!", $email, $data); 40 41#表示 42 echo $data; 43 exit; 44} 45 46#エラー画面 47function error($msg){ 48 $error = fopen("tmpl/error.tmpl","r"); 49 $size = filesize("tmpl/error.tmpl"); 50 $data = fread($error , $size); 51 fclose($error); 52 53#文字置き換え 54 $data = str_replace("!error!", $msg, $data); 55 56 57#表示 58 echo $data; 59 exit; 60} 61 62#CSV書き込み 63function send_form(){ 64 global $email; 65 66 $user_input = array($email); 67 mb_convert_variables("SJIS","UTF-8",$user_input); 68 $fh =fopen("user.csv","a"); 69 flock($fh,LOCK_EX); 70 fputcsv($fh, $user_input); 71 flock($fh,LOCK_UN); 72 fclose($fh); 73 74#メール送信 75 send_mail(); 76 77#テンプレート読み込み 78 $conf = fopen("tmpl/done.tmpl","r") or die; 79 $size = filesize("tmpl/done.tmpl"); 80 $date = fread($conf, $size); 81 fclose($conf); 82#文字置き換え 83 global $toppage; 84 $date = str_replace("!top!",$toppage, $date); 85#表示 86 echo $date; 87 exit; 88} 89 90#メール送信 91function send_mail(){ 92 #時間とIPアドレスの取得 93 $date = date("Y/m/d H:i:s"); 94 $ip = getenv("REMOTE_ADDR"); 95 96 global $email; 97 98 99#本文 100 $body = <<< _FORM_ 101 【entele】お問合せありがとうございました。 102 103 日時 : $date 104 IP情報 : $ip 105 メールアドレス : $email 106 107_FORM_; 108 109#管理者(4行目のメールアドレス)に送信 110 global $mailto; 111 mb_language("japanese"); 112 mb_internal_encoding("UTF-8"); 113 $name_sendonly = "entele「試してみる」お問合せフォーム"; 114 $name_sendonly = mb_encode_mimeheader($name_sendonly); 115 $mail_sendonly ="hirokoyamauchi@gmail.com"; 116 $mailform = "From:".$name_sendonly."<".$mail_sendonly.">"; 117 $subject = "entele「試してみる」お問合せフォームに連絡がありました"; 118 $result = mb_send_mail($mailto,$subject,$body,$mailform); 119#ユーザーに自動返信メールを送信 120 global $mail; 121 mb_language("japanese"); 122 mb_internal_encoding("UTF-8"); 123 $name_sendonly = "entele「試してみる」お問合せフォーム"; 124 $name_sendonly = mb_encode_mimeheader($name_sendonly); 125 $mail_sendonly ="info@fiu.co.jp"; 126 $mailform = "From:".$name_sendonly."<".$mail_sendonly.">"; 127 $subject = "お問合せありがとうございました。"; 128 $result = mb_send_mail($email,$subject,$body,$mailform); 129 130} 131
試したこと
PHPの書き換え
補足情報 Dreamweaver Atom
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー