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

質問編集履歴

1

ソースコードを更新いたしました。

2021/05/26 05:33

投稿

VAAAANG
VAAAANG

スコア1

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,7 @@
17
17
  $blank = false;
18
18
 
19
19
    if( !$items['name'] ) $blank = $error['name'] = 'お名前が入力されていません';
20
+ ...
20
21
 
21
22
   $_SESSION["items"] = $items;
22
23
  }
@@ -33,12 +34,210 @@
33
34
 
34
35
  ### 補足情報(FW/ツールのバージョンなど)
35
36
 
37
+ 下記がだいたいのコードになります。
36
- お下のコードでエラーメッセージを表示するようにおります。
38
+ ※今回の質問と関係述(htmlタグなど)省います。
37
39
  ```
40
+ <?php
41
+ session_start();
42
+
43
+ function h($s) {
44
+ return htmlspecialchars($s, ENT_QUOTES, "UTF-8");
45
+ }
46
+
47
+ $text = array();
48
+ $blank = true;
49
+ $items = $_SESSION["items"];
50
+
51
+ $client_name = '企業名';
52
+ $client_address = "企業メールアドレス";
53
+
54
+ if( isset($_POST['check']) ){
55
+ $items = $_POST['items'];
56
+ $blank = false;
57
+
58
+ if( !$items['name'] ) $blank = $error['name'] = 'お名前が入力されていません';
59
+ if( !$items['ruby'] ) $blank = $error['ruby'] = 'ふりがなが入力されていません';
60
+
61
+ if( !preg_match("/^[^@]+@[^@]+$/",$items['mail01']) ) $blank = $error['mail01'] = '正しい形式のメールアドレスをご入力ください';
62
+ if( !$items['mail01'] ) $blank = $error['mail01'] = 'メールアドレスが入力されていません';
63
+ if( !$items['mail02'] ) $blank = $error['mail02'] = 'メールアドレスが入力されていません';
64
+ if( $items['mail01'] !== $items['mail02'] ) $blank = $error['mail02'] = '上記メールアドレスと異なります';
65
+
66
+ if( !($items['tel01'] && $items['tel02'] && $items['tel03']) ) $blank = $error['tel'] = '電話番号が入力されていません';
67
+
68
+ $_SESSION["items"] = $items;
69
+ }
70
+
71
+ if( isset($_POST['send']) ){
72
+
73
+ setcookie( session_name(), '', time()-42000, '/' );
74
+ session_destroy();
75
+ $_SESSION['send_num'] = $send_num;
76
+
77
+ $message = <<<EOT
78
+ ■ お名前
79
+ $items[name]
80
+
81
+ ■ ふりがな
82
+ $items[ruby]
83
+
84
+ ■ メールアドレス
85
+ $items[mail01]
86
+
87
+ ■ 電話番号
88
+ $items[tel01] - $items[tel02] - $items[tel03]
89
+
90
+ ■ ご住所
91
+ $items[pc01] - $items[pc02]
92
+ $items[address]
93
+
94
+ EOT;
95
+ $client_message = <<<EOT
96
+
97
+ ホームページからお問い合わせがありました。
98
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
99
+
100
+ $message
101
+
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+ $home_url
104
+ EOT;
105
+ $user_message = <<<EOT
106
+
107
+ $items[name] 様
108
+
109
+ このたびは、 $client_name にお申込みいただき、ありがとうございます。
110
+ 近日担当者よりご連絡を差し上げますので、しばらくお待ちくださいませ。
111
+
112
+
113
+ $message
114
+
115
+ EOT;
116
+
117
+ mb_language("japanese");
118
+ mb_internal_encoding("UTF-8");
119
+ mb_convert_encoding($client_address,"UTF-8");
120
+ mb_convert_encoding($client_message,"UTF-8");
121
+ $user_message = mb_convert_encoding($user_message,"UTF-8");
122
+
123
+ if(!mb_send_mail($client_address,$items['name']."さんよりお問い合わせがありました",$client_message,"From: ".$client_address)){exit("e");}
124
+ if(!mb_send_mail($items['mail01'],"お問い合わせありがとうございました",$user_message,"From:".mb_encode_mimeheader($client_name)."<".$client_address.">")){exit("e");}
125
+
126
+ $sent = true;
127
+ $blank = false;
128
+
129
+ header('Location: /thanks/');
130
+ exit;
131
+
132
+ }
133
+ ?>
134
+
135
+ <?php if( $blank ){ ?>
136
+
137
+ <p>下記項目を入力の上、「確認画面へ進む」を押してください。</p>
138
+ <p>お申し込み受付後、受付完了メールをお送りします。※は必須項目です。</p>
139
+
140
+ <?php }elseif( !isset($sent) ){ ?>
141
+
142
+ <p>以下の内容でよろしければ「送信する」ボタンを押して下さい</p>
143
+
144
+ <?php } else { ?>
145
+
146
+ <p>送信が完了しました。</p>
147
+ <p>このたびはお申込みいただき、ありがとうございます。</p>
148
+ <p>近日担当者よりご連絡を差し上げますので、しばらくお待ちくださいませ。</p>
149
+
150
+ <?php } ?>
151
+
152
+ <form action="#anc-contact" method="post" class="contact-form">
153
+
154
+ <?php if( $blank ){ ?>
155
+
156
+ <table class="contact-form-table">
157
+ <tr>
158
+ <th><label for="name">お名前(全角)</label><span>*</span></th>
159
+ <td>
38
- <?php if( isset($error['name']) ) echo '<p class="error-text">' . h($error['name']) . '</p>'; ?>
160
+ <?php if( isset($error['name']) ) echo '<p class="error-text">' . h($error['name']) . '</p>'; ?>
161
+ <input type="text" name="items[name]" value="<?php echo h($items['name']); ?>" id="name" class="input-mid" placeholder="例) 山田 太郎">
162
+ </td>
163
+ </tr>
164
+ <tr>
165
+ <th><label for="ruby">ふりがな(全角)</label><span>*</span></th>
166
+ <td>
167
+ <?php if( isset($error['ruby']) ) echo '<p class="error-text">' . h($error['ruby']) . '</p>'; ?>
168
+ <input type="text" name="items[ruby]" value="<?php echo h($items['ruby']); ?>" id="ruby" class="input-mid" placeholder="例) やまだ たろう">
169
+ </td>
170
+ </tr>
171
+ <tr>
172
+ <th><label for="mail01">メールアドレス(半角)</label><span>*</span></th>
173
+ <td>
174
+ <?php if( isset($error['mail01']) ) echo '<p class="error-text">' . h($error['mail01']) . '</p>'; ?>
175
+ <input type="email" name="items[mail01]" value="<?php echo h($items['mail01']); ?>" id="mail01" class="input-big" placeholder="例) xxxxxx@example.com">
176
+ </td>
177
+ </tr>
178
+ <tr>
179
+ <th><label for="mail02">確認用メールアドレス(半角)</label><span>*</span></th>
180
+ <td>
181
+ <?php if( isset($error['mail02']) ) echo '<p class="error-text">' . h($error['mail02']) . '</p>'; ?>
182
+ <input type="email" name="items[mail02]" value="<?php echo h($items['mail02']); ?>" id="mail02" class="input-big" placeholder="例) xxxxxx@example.com">
183
+ </td>
184
+ </tr>
185
+ <tr>
186
+ <th><label for="tel">電話番号(半角)</label><span>*</span></th>
187
+ <td>
188
+ <?php if( isset($error['tel']) ) echo '<p class="error-text">' . h($error['tel']) . '</p>'; ?>
189
+ <input type="tel" name="items[tel01]" value="<?php echo h($items['tel01']); ?>" class="input-min" id="tel"> -
190
+ <input type="tel" name="items[tel02]" value="<?php echo h($items['tel02']); ?>" class="input-min"> -
191
+ <input type="tel" name="items[tel03]" value="<?php echo h($items['tel03']); ?>" class="input-min">
192
+ </td>
193
+ </tr>
194
+ <tr>
195
+ <th><label for="pc01">ご住所</label></th>
196
+ <td>
197
+ 〒 <input type="tel" name="items[pc01]" value="<?php echo h($items['pc01']); ?>" id="pc01" class="input-min">-
198
+ <input type="tel" name="items[pc02]" value="<?php echo h($items['pc02']); ?>" class="input-min">
199
+ <input type="button" value="郵便番号から自動入力" onclick="AjaxZip3.zip2addr('items[pc01]','items[pc02]','items[address]','items[address]');">
200
+ <input type="text" name="items[address]" value="<?php echo h($items['address']); ?>" class="input-big mt5">
201
+ </td>
202
+ </tr>
203
+ </table>
204
+ <p class="submits"><input type="submit" value="入力内容を確認する" name="check"></p>
205
+
206
+ <?php }elseif( !isset($sent) ){ ?>
207
+
208
+ <table class="contact-form-table">
209
+ <tr>
210
+ <th>お名前</th>
211
+ <td><?php echo h($items['name']); ?></td>
212
+ </tr>
213
+ <tr>
214
+ <th>ふりがな</th>
215
+ <td><?php echo h($items['ruby']); ?></td>
216
+ </tr>
217
+ <tr>
218
+ <th>メールアドレス</th>
219
+ <td><?php echo h($items['mail01']); ?></td>
220
+ </tr>
221
+ <tr>
222
+ <th>電話番号</th>
223
+ <td><?php echo h($items['tel01']); ?> - <?php echo h($items['tel02']); ?> - <?php echo h($items['tel03']); ?></td>
224
+ </tr>
225
+ <tr>
226
+ <th>ご住所</th>
227
+ <td><?php echo h($items['pc01']); ?>-<?php echo h($items['pc02']); ?><br><?php echo h($items['address']); ?></td>
228
+ </tr>
229
+ </table>
230
+ <p class="submits">
231
+ <input type="submit" name="return" value="入力内容を変更する">
232
+ <input type="submit" name="send" value="送信する">
233
+ </p>
234
+
235
+ <?php } ?>
236
+
237
+
39
238
  ```
40
- PHPバージョン:7.4.13
239
+ 現サーバPHPバージョン:7.4.13
240
+ 旧サーバPHPバージョン:5.6
41
241
 
42
242
 
43
-
44
243
  すみませんが、どなたかご教示いただけますと幸いですm(__)m