teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

現状の更新

2023/01/19 05:16

投稿

chibimame
chibimame

スコア28

title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,10 @@
15
15
 
16
16
  - [ ] サンクスページへ遷移段階で、トークンがNULLになって不正アクセスとされています。
17
17
 
18
+ サンクスページにて、以下で変数を確認したところ、$_SESSIONは取れてるのですが、$_POSTがNULLでした。
19
+ var_dump($_SESSION['key']);
20
+ var_dump($_POST['token']);
21
+
18
22
  ### 該当のソースコード
19
23
 
20
24
  **### confirm.php**
@@ -44,39 +48,16 @@
44
48
  ?>
45
49
 
46
50
  <table>
47
- <tr>
48
- <th><label for="name">お名前</label></th>
49
- <td><p><?= $_SESSION['contact-name']; ?></p></td>
50
- </tr>
51
+ 〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜
51
- <tr>
52
- <th><label for="mail">メールアドレス</label></th>
53
- <td><?= $_SESSION['contact-mail']; ?></td>
54
- </tr>
55
- <tr>
56
- <th><label for="tel">電話番号</label></th>
57
- <td><?= $_SESSION['contact-tel']; ?></td>
58
- </tr>
59
- <tr>
60
- <th><label for="affiliation">所属</label></th>
61
- <td><?= $_SESSION['contact-affiliation']; ?></td>
62
- </tr>
63
- <tr>
64
- <th><label for="contact-about">お問い合わせ内容</label></th>
65
- <td><?= $_SESSION['contact-about']; ?></td>
66
- </tr>
67
- <tr>
68
- <th><label for="contact-detail">お問い合わせの詳細</label></th>
69
- <td><?= nl2br($_SESSION['contact-detail']); ?></td>
70
- </tr>
71
52
  </table>
72
53
 
73
54
  <form action="thanks" method="post">
74
- <div class="confirm-btn">
55
+  <div class="confirm-btn">
75
- <!-- 入力フォームから送られてきたトークンを次のページに引き継ぐ -->
56
+   <!-- 入力フォームから送られてきたトークンを次のページに引き継ぐ -->
76
- <input type="hidden" name="token" value="<?= $_POST['token'] ?>">
57
+   <input type="hidden" name="token" value="<?= $_POST['token'] ?>">
77
- <a href="#" onclick="window.history.back(); return false;"><span>戻る</span></a>
58
+    <a href="#" onclick="window.history.back(); return false;"><span>戻る</span></a>
78
- <button type="submit" value="送信"><span>送信</span></button>
59
+    <button type="submit" value="送信"><span>送信</span></button>
79
- </div>
60
+  </div>
80
61
  </form>
81
62
  ```
82
63
  **### thanks.php**
@@ -95,94 +76,22 @@
95
76
 
96
77
  //キーとトークンが一致したら管理者に入力内容がメールで送られる
97
78
  if($_SESSION['key'] === $_POST['token']) {
98
- $name = $_SESSION['contact-name'];
79
+ $name = $_SESSION['contact-name'];
99
- $mail = $_SESSION['contact-mail'];
80
+ $mail = $_SESSION['contact-mail'];
100
- $tel = $_SESSION['contact-tel'];
81
+ $tel = $_SESSION['contact-tel'];
101
- $affiliation = $_SESSION['contact-affiliation'];
82
+ $affiliation = $_SESSION['contact-affiliation'];
102
- $contact_about = $_SESSION['contact-about'];
83
+ $contact_about = $_SESSION['contact-about'];
103
- $contact_detail = $_SESSION['contact-detail'];
84
+ $contact_detail = $_SESSION['contact-detail'];
104
85
 
105
- // メール送信処理
106
- $to = "私のメールアドレス";
107
- $mailtitle = "{$name}様よりお問い合わせが届きました。";
108
- $contents = <<<EOD
109
-
110
- ◆お名前
111
- {$name}
112
- ◆メールアドレス
113
- {$mail}
114
- ◆電話番号
115
- {$tel}
116
- ◆所属
117
- {$affiliation}
118
- ◆お問い合わせ内容
119
- {$contact_abou}
120
- ◆お問い合わせ詳細
121
- {$contact_detail}
122
-
123
- EOD;
124
- $from = 'From: '.$mail ; //送信元メールアドレス
125
- // 自分に送るお問い合わせ内容メールを構築
126
-
127
- // 相手に送る送信完了メールを構築
128
- $to2 = $mail;
129
- $mailtitle2 = "【自動送信】受付を完了いたしました。";
130
- $contents2 = <<<EOD
131
-
132
- お問い合わせありがとうございます。
133
- 以下の内容を送信いたしました。
134
- 近日中に返信いたしますのでしばらくお待ちください。
135
-
136
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
137
-
138
- {$contents}
139
-
140
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
141
-
142
- EOD;
143
- $from2 = 'From: '.$to;
144
- // 相手に送る送信完了メールを構築
145
-
146
- // 文字化け防止
147
- mb_language("Japanese");
148
- mb_internal_encoding("UTF-8");
149
-
150
- if(mb_send_mail($to2,$mailtitle2,$contents2,$from2)){//相手に送信 #1
151
- $message = '<p>『'.$email.'』宛に確認メールを送信しました<br>お問い合わせありがとうございます。</p>';
152
- if(mb_send_mail($to,$mailtitle,$contents,$from)){//自分に送信 #2
153
- // 終了処理開始 セッションの破棄
154
- $_SESSION= [];
155
-
156
- if(isset($_COOKIE[session_name()])){
157
- $params=session_get_cookie_params();
158
- setcookie(session_name(),'',time() - 42000,$params["path"],$params["domain"],$params["secure"],$params['httponly']);
159
- }
160
- session_destroy();
86
+ 〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜
161
- // セッションの破棄
162
- }else{
163
- $message ='<p>何らかの理由で送信エラーが発生しました<br>しばらく待ってから再度送信してください</p>';
164
- }
165
- }else{
166
- $message = '<p>『'.$mail.'』宛に確認メールを送信できませんでした。<br>正しいメールアドレスで再度ご連絡をお願いいたします。</p>';
167
- }
168
- }else{
169
- // 直接thanks.phpにアクセスしようとしたら強制的にリダイレクト
170
- header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/confirm');
171
87
  }
172
88
  ?>
173
- <?php
174
- $page = get_post( get_the_ID() );
175
- $slug = $page->post_name;
176
- $page_id = get_page_by_path($slug);
177
- $page_id = $page_id->ID; //ページIDを取得して$page_idに代入
178
- ?>
179
-
180
89
  <h2>CONTACT<span>送信完了</span></h2>
181
90
 
182
91
  <h3>送信いたしました</h3>
183
92
 
184
93
  <p class="thanks-txt">
185
- <?= $message ?>
94
+ 送信完了
186
95
  </p>
187
96
 
188
97
  <div class="return-btn">

3

送信内容確認にデータを渡すところまではできたが、thanksページへの遷移時にトークンが取得できていない

2023/01/19 02:16

投稿

chibimame
chibimame

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,208 +1,109 @@
1
1
  ### 前提
2
2
  WordPressでサイトを作成中です。
3
3
  プラグインを使わず、自作でメールフォームを作成しようとしています。
4
- 入力画面→確認画面→Thanksページ
4
+ 入力画面→確認画面→サンクスページ
5
5
  としたいです。
6
- 入力画面から確認画面の遷移の段階で、データ保持できせん
6
+ 確認画面からサンクスページの遷移の段階で、$_POST['token']NULLになって不正アクセスと認識され、困ってい
7
7
 
8
8
  ### 実現したいこと
9
9
 
10
- - [ ] 入力画面から確認画面への遷移段階で、データを保持したい
10
+ ~~- [ ] 入力画面から確認画面への遷移段階で、データを保持したい~~
11
- - [ ] 確認画面から戻るボタンを押した時に、データを保持した状態でフォーム部分に戻りたい
11
+ ~~- [ ] 確認画面から戻るボタンを押した時に、データを保持した状態でフォーム部分に戻りたい~~
12
12
  - [ ] 確認画面から送信ボタンを押してThanksページに飛んだ時に、お問い合わせ内容がメールで届くようにしたい
13
13
 
14
14
  ### 発生している問題・エラーメッセージ
15
15
 
16
- - [ ] 確認画面へ遷移段階で、データが保持できません。
17
- - [ ] 確認画面でデタが保持きていないので戻るボタンが機能してるかはまだわかっていません
16
+ - [ ] サンクスペジへ遷移段階で、トークンがNULLになって不正アクセスとされていま
18
17
 
19
18
  ### 該当のソースコード
20
19
 
21
- **### index.php**
20
+ **### confirm.php**
22
21
  ```PHP
23
22
  <?php
24
23
  session_start();
25
- // 送信ボタが押されたかどうか
24
+ //クリックジャッキグへの対策
25
+ header('X-Frame-Options: DENY');
26
+ //フォームを経ずにこのページに直接アクセスした場合は拒否する
26
- if(isset($_POST['submit'])){
27
+ if(!isset($_POST['token'])) {
27
- // POSTされたデータをエケープ処理して変数に格納
28
+ echo '不正なアクセの可能性があります';
28
- $name = htmlspecialchars($_POST['contact-name'],ENT_QUOTES | ENT_HTML5);
29
- $mail = htmlspecialchars($_POST['contact-mail'],ENT_QUOTES | ENT_HTML5);
30
- $tel = htmlspecialchars($_POST['contact-tel'],ENT_QUOTES | ENT_HTML5);
31
- $affiliation = htmlspecialchars($_POST['contact-affiliation'],ENT_QUOTES | ENT_HTML5);
32
- $contact_about = htmlspecialchars($_POST['contact-about'],ENT_QUOTES | ENT_HTML5);
33
- $contact_detail = htmlspecialchars($_POST['contact-detail'],ENT_QUOTES | ENT_HTML5);
34
-
35
- // エスケープ処理の下に記述
29
+ exit;
36
- $errors = []; //エラー格納用配列
37
- //trim(文字列)→文字列内の空白を除去 →値がなくなればエラーにする
38
- if(trim($name) === '' || trim($name) === " "){
39
- $errors['contact-name'] = "名前を入力してください";
40
30
  }
41
- if(trim($tel) === '' || trim($tel) === " "){
42
- $errors['contact-tel'] = "電話番号を入力してください";
43
- }
44
- if(trim($contact_detail) === '' || trim($contact_detail) === " "){
45
- $errors['contact-detail'] = "内容を入力してください";
46
- }
47
-
48
- // エラー配列がなければ完了
49
- if(count($errors) === 0){
50
- $_SESSION['contact-name']= $name; //⇦エスケープ処理をして値を変数に格納済みの入力値
51
- $_SESSION['contact-mail'] = $mail;
52
- $_SESSION['contact-tel']= $tel;
53
- $_SESSION['contact-affiliation']= $affiliation;
54
- $_SESSION['contact-about'] = $contact_about;
55
- $_SESSION['contact-detail'] = $contact_detail;
56
- header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/confirm');
57
- }else{
58
- // エラー配列があればエラーを表示
59
- echo $errors['contact-name'];
60
- echo $errors['contact-tel'];
61
- echo $errors['contact-detail'];
62
- }
63
- }
64
31
 
65
- // confirm.phpから戻ってきたときに値を保持
32
+ //フォーム入力されたのエスケープ処理
33
+ function e($str) {
66
- if(isset($_GET) && $_GET['action'] === 'edit'){
34
+ return htmlspecialchars($str, ENT_QUOTES|ENT_HTML5, 'UTF-8');
67
- $name = $_SESSION['contact-name'];
68
- $mail = $_SESSION['contact-mail'];
69
- $tel = $_SESSION['contact-tel'];
70
- $affiliation = $_SESSION['contact-affiliation'];
71
- $contact_about = $_SESSION['contact-about'];
72
- $contact_detail = $_SESSION['contact-detail'];
73
35
  }
74
36
 
75
- // confirm.phpから戻ってきたときに値保持
37
+ //入力内容$_SESSIONに格納する
76
- if(isset($_GET) && $_GET['action'] === 'edit'){
77
- $name = $_SESSION['contact-name'];
38
+ $_SESSION['contact-name'] = e($_POST['contact-name']);
78
- $mail = $_SESSION['contact-mail'];
39
+ $_SESSION['contact-mail'] = e($_POST['contact-mail']);
79
- $tel = $_SESSION['contact-tel'];
40
+ $_SESSION['contact-tel'] = e($_POST['contact-tel']);
80
- $affiliation = $_SESSION['contact-affiliation'];
41
+ $_SESSION['contact-affiliation'] = e($_POST['contact-affiliation']);
81
- $contact_about = $_SESSION['contact-about'];
42
+ $_SESSION['contact-about'] = e($_POST['contact-about']);
82
- $contact_detail = $_SESSION['contact-detail'];
43
+ $_SESSION['contact-detail'] = e($_POST['contact-detail']);
83
- }
84
44
  ?>
85
45
 
86
- <form action="confirm/" method="post" name="contact_form">
87
- <table>
88
- <tr>
89
- <th class="required"><label for="name">お名前</label></th>
90
- <td>
91
- <input type="text" id="name" name="contact-name" value="<?php if(isset($name)){echo $name;} ?>" required>
92
- </td>
93
- </tr>
94
- <tr>
95
- <th class="required"><label for="mail">メールアドレス</label></th>
96
- <td>
97
- <input type="email" name="contact-mail" value="<?php if(isset($mail)){echo $mail;} ?>" required>
98
- </td>
99
- </tr>
100
- <tr>
101
- <th><label for="tel">電話番号</label></th>
102
- <td>
103
- <input type="text" name="contact-tel" value="<?php if(isset($tel)){echo $tel;} ?>" />
104
- </td>
105
- </tr>
106
- <tr>
107
- <th><label for="affiliation">所属</label></th>
108
- <td>
109
- <input type="text" name="contact-affiliation" value="<?php if(isset($affiliation)){echo $affiliation;} ?>" />
110
- </td>
111
- </tr>
112
- <tr>
113
- <th><label for="contact-about">お問い合わせ内容</label></th>
114
- <td class="contact-about">
115
- <select name="contact-about" id="contact-about" required>
116
- <option disabled selected value="">選択してください</option>
117
- <option value="セレクト①" <?php if(isset($contact_about)&&$contact_about==="セレクト①"){echo "selected";}?>>セレクト①</option>
118
- <option value="セレクト②" <?php if(isset($contact_about)&&$contact_about==="セレクト②"){echo "selected";}?>>セレクト②</option>
119
- <option value="セレクト③" <?php if(isset($contact_about)&&$contact_about==="セレクト③"){echo "selected";}?>>セレクト③</option>
120
- <option value="セレクト④" <?php if(isset($contact_about)&&$contact_about==="セレクト④"){echo "selected";}?>>セレクト④</option>
121
- </select>
122
- </td>
123
- </tr>
124
- <tr>
125
- <th><label for="contact-detail">お問い合わせ詳細</label></th>
126
- <td class="contact-detail">
127
- <textarea name="contact-detail" rows="4" cols="40" required>
128
- <?php if(isset($contact_detail)){echo $contact_detail;} ?>
129
- </textarea>
130
- </td>
131
- </tr>
132
- </table>
133
- <button type="submit" value="送信内容確認"><span id="confirm-txt" class="confirm-txt">送信内容確認</span></button>
134
- </form>
135
- ```
136
-
137
- **### confirm.php**
138
- ```PHP
139
- <?php
140
- session_start();
141
- if(isset($_SESSION['contact-name'])){
142
- $name = $_SESSION['contact-name'];
143
- $mail = $_SESSION['contact-mail'];
144
- $tel = $_SESSION['contact-tel'];
145
- $affiliation = $_SESSION['contact-affiliation'];
146
- $contact_about = $_SESSION['contact-about'];
147
- $contact_detail = $_SESSION['contact-detail'];
148
- }
149
-
150
- // ここにトークンを生成するコードを記述
151
- $token = sha1(uniqid(mt_rand(),true));
152
- $_SESSION['token'] = $token;
153
- ?>
154
-
155
46
  <table>
156
47
  <tr>
157
48
  <th><label for="name">お名前</label></th>
158
- <td><p><?php echo $name; ?></p></td>
49
+ <td><p><?= $_SESSION['contact-name']; ?></p></td>
159
50
  </tr>
160
51
  <tr>
161
52
  <th><label for="mail">メールアドレス</label></th>
162
- <td><?php echo $mail; ?></td>
53
+ <td><?= $_SESSION['contact-mail']; ?></td>
163
54
  </tr>
164
55
  <tr>
165
56
  <th><label for="tel">電話番号</label></th>
166
- <td><?php echo $tel; ?></td>
57
+ <td><?= $_SESSION['contact-tel']; ?></td>
167
58
  </tr>
168
59
  <tr>
169
60
  <th><label for="affiliation">所属</label></th>
170
- <td><?php echo $affiliation; ?></td>
61
+ <td><?= $_SESSION['contact-affiliation']; ?></td>
171
62
  </tr>
172
63
  <tr>
173
64
  <th><label for="contact-about">お問い合わせ内容</label></th>
174
- <td><?php echo $contact_about; ?></td>
65
+ <td><?= $_SESSION['contact-about']; ?></td>
175
66
  </tr>
176
67
  <tr>
177
68
  <th><label for="contact-detail">お問い合わせの詳細</label></th>
178
- <td><?php echo nl2br($contact_detail); ?></td>
69
+ <td><?= nl2br($_SESSION['contact-detail']); ?></td>
179
70
  </tr>
180
71
  </table>
181
72
 
182
- <form method="post" action="../thanks">
73
+ <form action="thanks" method="post">
183
- <input type="hidden" name="token" value="<?php echo $token ?>">
184
- <div class="confirm-btn">
74
+ <div class="confirm-btn">
75
+ <!-- 入力フォームから送られてきたトークンを次のページに引き継ぐ -->
76
+ <input type="hidden" name="token" value="<?= $_POST['token'] ?>">
185
- <a href="../?action=edit"><span>戻る</span></a>
77
+ <a href="#" onclick="window.history.back(); return false;"><span>戻る</span></a>
186
- <button type="submit" value="送信"><span>送信</span></button>
78
+ <button type="submit" value="送信"><span>送信</span></button>
187
79
  </div>
188
80
  </form>
189
81
  ```
190
- **### mail.php**
82
+ **### thanks.php**
191
83
  ```PHP
192
84
  <?php
193
- session_start(); //セッションを使用するのでスタートさせます
85
+ session_start();
194
86
 
87
+ //クリックジャッキングへの対策
88
+ header('X-Frame-Options: DENY');
89
+
90
+ //フォームを経ずにこのページに直接アクセスした場合は拒否する
91
+ if(!isset($_POST['token'])) {
92
+ echo '不正なアクセスの可能性があります';
93
+ exit;
94
+ }
95
+
96
+ //キーとトークンが一致したら管理者に入力内容がメールで送られる
195
- if($_SESSION['token'] === $_POST['token']){
97
+ if($_SESSION['key'] === $_POST['token']) {
196
- if(isset($_SESSION['contact-name'])){
197
98
  $name = $_SESSION['contact-name'];
198
- $mail = str_replace(array("\r","\n"),'',$_SESSION['contact-mail']);
99
+ $mail = $_SESSION['contact-mail'];
199
- $tel = $_SESSION['contact-tel'];
100
+ $tel = $_SESSION['contact-tel'];
200
- $affiliation = $_SESSION['contact-affiliation'];
101
+ $affiliation = $_SESSION['contact-affiliation'];
201
- $contact_about = $_SESSION['contact-about'];
102
+ $contact_about = $_SESSION['contact-about'];
202
- $contact_detail = $_SESSION['contact-detail'];
103
+ $contact_detail = $_SESSION['contact-detail'];
203
- }
104
+
204
- // メール送信処理
105
+ // メール送信処理
205
- $to = "私のメールアドレス@gmail.com";
106
+ $to = "私のメールアドレス";
206
107
  $mailtitle = "{$name}様よりお問い合わせが届きました。";
207
108
  $contents = <<<EOD
208
109
 
@@ -242,52 +143,46 @@
242
143
  $from2 = 'From: '.$to;
243
144
  // 相手に送る送信完了メールを構築
244
145
 
245
- // メールを送るときのおまじない
146
+ // 文字化け防止
246
147
  mb_language("Japanese");
247
148
  mb_internal_encoding("UTF-8");
248
-
149
+
249
- if(mb_send_mail($to2,$mailtitle2,$contents2,$from2)){//相手に送信 #1
150
+ if(mb_send_mail($to2,$mailtitle2,$contents2,$from2)){//相手に送信 #1
250
151
  $message = '<p>『'.$email.'』宛に確認メールを送信しました<br>お問い合わせありがとうございます。</p>';
251
-  if(mb_send_mail($to,$mailtitle,$contents,$from)){//自分に送信 #2
152
+ if(mb_send_mail($to,$mailtitle,$contents,$from)){//自分に送信 #2
252
-   // 終了処理開始 セッションの破棄
153
+ // 終了処理開始 セッションの破棄
253
-   $_SESSION= [];
154
+ $_SESSION= [];
254
155
 
255
-   if(isset($_COOKIE[session_name()])){
156
+ if(isset($_COOKIE[session_name()])){
256
-    $params=session_get_cookie_params();
157
+ $params=session_get_cookie_params();
257
-    setcookie(session_name(),'',time() - 42000,$params["path"],$params["domain"],$params["secure"],$params['httponly']);
158
+ setcookie(session_name(),'',time() - 42000,$params["path"],$params["domain"],$params["secure"],$params['httponly']);
258
- }
159
+ }
259
160
  session_destroy();
260
161
  // セッションの破棄
261
- }else{
162
+ }else{
262
163
  $message ='<p>何らかの理由で送信エラーが発生しました<br>しばらく待ってから再度送信してください</p>';
263
- }
164
+ }
264
- }else{
165
+ }else{
265
- $message = '<p>『'.$email.'』宛に確認メールを送信できませんでした。<br>正しいメールアドレスで再度ご連絡をお願いいたします。</p>';
166
+ $message = '<p>『'.$mail.'』宛に確認メールを送信できませんでした。<br>正しいメールアドレスで再度ご連絡をお願いいたします。</p>';
266
167
  }
267
168
  }else{
268
- // 直接send.phpにアクセスしようとしたら強制的にリダイレクト
169
+ // 直接thanks.phpにアクセスしようとしたら強制的にリダイレクト
269
- header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/confirm');
170
+ header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/confirm');
270
171
  }
271
172
  ?>
272
- ```
273
- ### 試したこと
173
+ <?php
174
+ $page = get_post( get_the_ID() );
175
+ $slug = $page->post_name;
176
+ $page_id = get_page_by_path($slug);
177
+ $page_id = $page_id->ID; //ページIDを取得して$page_idに代入
178
+ ?>
274
179
 
275
- いろんなサイトを参考に、上記ソースで試してみましたがうまくいきませんでした。
276
- PHPに詳しい方、ご回答いただけると助かります。
277
- よろしくお願いいたします。
278
-
279
- ### 補足情報(FW/ツールのバージョンなど)
280
- confirm.phpは固定ページテンプレートです。
281
- また、thanks.phpも固定ページテンプレートで、内容は以下の内容になります。
282
-
283
- **### thanks.php**
284
- ```PHP
285
180
  <h2>CONTACT<span>送信完了</span></h2>
286
181
 
287
182
  <h3>送信いたしました</h3>
288
183
 
289
184
  <p class="thanks-txt">
290
- お問合せいただき誠にありがとうございます。担当よりご連絡させていただきますので、少々お待ちくださいませ。
185
+ <?= $message ?>
291
186
  </p>
292
187
 
293
188
  <div class="return-btn">

2

フォーム内にbuttonを格納

2023/01/18 09:52

投稿

chibimame
chibimame

スコア28

title CHANGED
File without changes
body CHANGED
@@ -130,8 +130,8 @@
130
130
  </td>
131
131
  </tr>
132
132
  </table>
133
+ <button type="submit" value="送信内容確認"><span id="confirm-txt" class="confirm-txt">送信内容確認</span></button>
133
134
  </form>
134
- <button type="submit" value="送信内容確認"><span id="confirm-txt" class="confirm-txt">送信内容確認</span></button>
135
135
  ```
136
136
 
137
137
  **### confirm.php**

1

thanks.phpの内容について追記

2023/01/17 17:09

投稿

chibimame
chibimame

スコア28

title CHANGED
File without changes
body CHANGED
@@ -278,3 +278,19 @@
278
278
 
279
279
  ### 補足情報(FW/ツールのバージョンなど)
280
280
  confirm.phpは固定ページテンプレートです。
281
+ また、thanks.phpも固定ページテンプレートで、内容は以下の内容になります。
282
+
283
+ **### thanks.php**
284
+ ```PHP
285
+ <h2>CONTACT<span>送信完了</span></h2>
286
+
287
+ <h3>送信いたしました</h3>
288
+
289
+ <p class="thanks-txt">
290
+ お問合せいただき誠にありがとうございます。担当よりご連絡させていただきますので、少々お待ちくださいませ。
291
+ </p>
292
+
293
+ <div class="return-btn">
294
+ <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><span>トップページへ戻る</span></a>
295
+ </div>
296
+ ```