入力フォーム1ページ、確認表示画面2ページ目、送信完了画面3ページの順でコード書いたのですが、確認表示画面2ページ目にある
送信ボタンの部分を
画像付きの送信ボタンに変更したくて、
<td colspan="2"><button id="soushin">送信する</button> を以下のように書き換えると、送信できなくなってしまいます。以下書き換え。画像付きボタンのコード。
<a button type="submit" id="soushin" name="submit" class="auto-style4" href="">
<img src="ka2.png" alt="確認画面へ" class="button-simple yureru-s example8" /></a>
原因はなんでしょうか?理由が分かりません。Idなど間違っていなさそうですが。href=""を消去して、
</a>の前に</botton>タグ追加でも変化なし。カーソル範囲の調節のため、buttonタグの前にあえてaタグを付けました。
実際に書き換えたURLです。1ページ目、2ページ目と続きます。2ページ目送信は出来ません。
確認表示画面のPHP ※※※2ページ目 書き換え前
php
1<?php 2session_start(); 3 4if(isset($_SESSION['name'])){ 5 6$name = $_SESSION['name']; 7$furigana = $_SESSION['furigana']; 8$email = $_SESSION['email']; 9$tel = $_SESSION['tel']; 10$pay = $_SESSION['pay']; 11} 12 13$_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(48)); 14 15$token = htmlspecialchars($_SESSION['token'], ENT_QUOTES); 16 17?> 18 19<!DOCTYPE html> 20 <html> 21 <head> 22<meta charset ="utf-8"> 23<link rel="stylesheet" href="hpkiyaku.css"> 24<title></title> 25 26 27</head> 28 <body> 29 30 <form action ="hpform3.php" method ="post" name="doui_form" onsubmit="return false"> 31 32<input type ="hidden" name ="token" value ="<?php echo $token ?>"> 33 34<div class="title"> 35<label class="title" for="title">お申し込み内容の確認</label> 36</div> 37<p></p> 38<p></p> 39<p></p> 40<p></p> 41<div class="row"> 42<label class="col-sm-2 control-label" for="name">名前:<small><?php echo $name; ?></small></label> 43</div> 44<p></p> 45<p></p> 46<p></p> 47<div class="row"> 48<label class="col-sm-2 control-label" for="furigana">フリガナ:<small><?php echo $furigana; ?></small></label> 49</div> 50<p></p> 51<p></p> 52<div class="row"> 53<label class="col-sm-2 control-label" for="email">メールアドレス: 54<br> 55<small><?php echo $email; ?></small></label> 56</div> 57<p></p> 58<p></p> 59<div class="row"> 60<label class="col-sm-2 control-label" for="tel">電話番号:<small><?php echo $tel; ?></small></label> 61</div> 62<p></p> 63<p></p> 64<div class="row"> 65<label class="col-sm-2 control-label" for="pay">支払方法:<small><?php echo $pay; ?></small></label> 66</div> 67<p></p> 68<p></p> 69<div class="title2"> 70<label class="title2" for="title2">利用規約</label> 71</div> 72<p></p> 73 74 75 76 77<div class="radio_text"> 78 79<section> 80<label class="radio_text"> 81<input type="radio" name="doui" value="suru">同意する 82 </label> 83 <label class="radio_text"> 84 <input type="radio" name="doui" value="shinai">同意しない 85 </label> 86</section> 87</div> 88 89<table> 90 91<tr> 92<p></p> 93<p></p> 94<p></p> 95 96 97<td colspan="2"><button id="soushin">送信する</button> 98 99 100<script> 101 var doui = document.getElementById('soushin'); 102 doui.addEventListener('click', function() { 103 if (document.doui_form.doui.value != "suru") { 104 alert("利用規約に同意して頂けない場合は本サービスのご利用はお控えください。"); 105 } else { 106 document.doui_form.submit(); 107 } 108 }) 109</script> 110 111</td> 112 113 114 </tr> 115 116</table> 117</form> 118<p><a href="hpform1.php?action=edit">入力画面へ戻る</a></p> 119 </body> 120</html> 121
3ページ目折り返しメールメールのコード
php
1<?php 2 3// PHPMailer クラスをネーム空間にインポート 4use PHPMailer\PHPMailer\PHPMailer; 5use PHPMailer\PHPMailer\SMTP; 6use PHPMailer\PHPMailer\Exception; 7 8 9 10require('PHPMailer/src/PHPMailer.php'); 11require('PHPMailer/src/Exception.php'); 12require('PHPMailer/src/SMTP.php'); 13 14 15 16 17 18// 入力内容の取得・変数に格納 19session_start(); 20 21 22if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){ 23 unset($_SESSION['token']); 24 25$name = $_SESSION['name']; 26$furigana = $_SESSION['furigana']; 27$email = $_SESSION['email']; 28$tel = $_SESSION['tel']; 29$pay = $_SESSION['pay']; 30 31 32} 33// メール日本語対応 34mb_language("japanese"); 35mb_internal_encoding("UTF-8"); 36 37 38 39 40 41// インスタンス生成 42$mail = new PHPMailer(true); 43 44// 文字エンコードを指定 45$mail->CharSet = 'utf-8'; 46 47try { 48 // デバッグ設定 49 // $mail->SMTPDebug = 2; // デバッグ出力を有効化(レベルを指定) 50 // $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str<br>";}; 51 52 // SMTPサーバの設定 53 $mail->isSMTP(); // SMTPの使用宣言 54 $mail->Host = '◎◎'; // SMTPサーバーを指定 55 $mail->SMTPAuth = true; // SMTP authenticationを有効化 56 $mail->Username = '▼@www.rensyuu.shop'; // SMTPサーバーのユーザ名 57 $mail->Password = '????'; // SMTPサーバーのパスワード 58 $mail->SMTPSecure = 'ssl'; // 暗号化を有効(tls or ssl)無効の場合はfalse 59 $mail->Port = 465; // TCPポートを指定(tlsの場合は465や587) 60 61 62 63 // メール本体 64 $mail->setFrom('▼@www.rensyuu.shop', 'camila'); // 送信元メールアドレスと名前 65 $mail->addAddress($email,$name); // 送信先メールアドレスと名前 66 67 68 $mail->Body = "下記の情報を受け取りました。\n内容を確認し、こちらから折り返し、ライン又はメールアドレスにてご案内させて頂きます。\n\n"; 69 $mail->Subject = mb_encode_mimeheader(''); 70 71 $mail->Body .= "お名前:".$name."\n"; 72 $mail->Body .= "フリガナ:".$furigana."\n"; 73 $mail->Body .= "メールアドレス:".$email."\n"; 74 $mail->Body .= "電話番号:".$tel."\n"; 75 $mail->Body .= "支払方法:".$pay."\n"; 76 77 78 79 80 $mail->Body .= "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; 81 $mail->Body .= "【Web担当者の作り方】\n"; 82 83 $mail->Body .= "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; 84 85 86 87 88// 送信 89 $mail->send(); 90 echo '送信済み'; 91} catch (Exception $e) { 92 echo "送信失敗: {$mail->ErrorInfo}"; 93} 94?> 95 96<!DOCTYPE html> 97<html lang="ja"> 98<head> 99<meta charset="UTF-8"> 100<title>お問い合わせフォーム</title> 101<link rel="stylesheet" href="style.css"> 102</head> 103<body> 104<div><h1>Company Name</h1></div> 105<div><h2>お問い合わせ</h2> </div> 106<div> 107 <div> 108 <h1>お問い合わせ 送信完了</h1> 109 <p> 110 お問い合わせありがとうございました。<br> 111 内容を確認のうえ、回答させて頂きます。<br> 112 しばらくお待ちください。 113 </p> 114 <a href="hpform1.php"> 115 <button type="button">お問い合わせに戻る</button> 116 </a> 117 </div> 118</div> 119</body> 120</html> 121 122 123 124
回答1件
あなたの回答
tips
プレビュー