質問編集履歴

1

変更

2021/11/14 09:16

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,288 +8,278 @@
8
8
 
9
9
  ### 発生している問題・エラーメッセージ
10
10
 
11
-
11
+ 選択をしても「お問い合わせ項目を選択してください。」とでて次にすすめなくなってしまう。
12
+
13
+
14
+
15
+
16
+
17
+ ```ここに言語を入力
18
+
19
+ <html>
20
+
21
+ <head>
22
+
23
+ <body>
24
+
25
+ <?php
26
+
27
+ session_start();
28
+
29
+ $mode = 'input';
30
+
31
+ $errmessage = array();
32
+
33
+ if( isset($_POST['back']) && $_POST['back'] ){
34
+
35
+ // 何もしない
36
+
37
+ } else if( isset($_POST['confirm']) && $_POST['confirm'] ){
38
+
39
+ // 確認画面
40
+
41
+ if( !$_POST['fullname'] ) {
42
+
43
+ $errmessage[] = "名前を入力してください";
44
+
45
+ } else if( mb_strlen($_POST['fullname']) > 100 ){
46
+
47
+ $errmessage[] = "名前は100文字以内にしてください";
48
+
49
+ }
50
+
51
+ $_SESSION['fullname'] = htmlspecialchars($_POST['fullname'], ENT_QUOTES);
52
+
53
+
54
+
55
+ if( !$_POST['email'] ) {
56
+
57
+ $errmessage[] = "Eメールを入力してください。";
58
+
59
+ } else if( mb_strlen($_POST['email']) > 200 ){
60
+
61
+ $errmessage[] = "Eメールは200文字以内にしてください。";
62
+
63
+ } else if( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ){
64
+
65
+ $errmessage[] = "メールアドレスが不正です。";
66
+
67
+ }
68
+
69
+ $_SESSION['email'] = htmlspecialchars($_POST['email'], ENT_QUOTES);
70
+
71
+ if( !$_POST['tel'] ) {
72
+
73
+ $errmessage[] = "電話番号を入力してください。";
74
+
75
+ } else if( mb_strlen($_POST['tel']) > 12 ){
76
+
77
+ $errmessage[] = "電話番号は12桁以内にしてください。。";
78
+
79
+ }
80
+
81
+ if(isset($_POST['cs'])) {
82
+
83
+ $errmessage[] = "お問い合わせ項目を選択してください。";
84
+
85
+ echo 'お問い合わせ項目:' . $cs;
86
+
87
+ } else {
88
+
89
+ $errmessage[] = "お問い合わせ項目が選択されていません。";
90
+
91
+ }
92
+
93
+        $_SESSION['cs'] = htmlspecialchars($_POST['cs'], ENT_QUOTES);
94
+
95
+ if( !$_POST['message'] ){
96
+
97
+ $errmessage[] = "お問い合わせ内容を入力してください。";
98
+
99
+ } else if( mb_strlen($_POST['message']) > 1000 ){
100
+
101
+ $errmessage[] = "お問い合わせ内容は1000文字以内にしてください";
102
+
103
+ }
104
+
105
+ $_SESSION['message'] = htmlspecialchars($_POST['message'], ENT_QUOTES);
106
+
107
+
108
+
109
+ if( $errmessage ){
110
+
111
+ $mode = 'input';
112
+
113
+ } else {
114
+
115
+ $mode = 'confirm';
116
+
117
+ }
118
+
119
+ } else if( isset($_POST['send']) && $_POST['send'] ){
120
+
121
+ // 送信ボタンを押したとき
122
+
123
+ $message = "お問い合わせを受け付けました。 \r\n"
124
+
125
+ . "名前: " . $_SESSION['fullname'] . "\r\n"
126
+
127
+ . "email: " . $_SESSION['email'] . "\r\n"
128
+
129
+ . "tel: " . $_SESSION['tel'] . "\r\n"
130
+
131
+ . "お問い合わせ項目: " . $_SESSION['cs'] . "\r\n"
132
+
133
+ . "お問い合わせ内容:\r\n"
134
+
135
+ . preg_replace("/\r\n|\r|\n/", "\r\n", $_SESSION['message']);
136
+
137
+ mail($_SESSION['email'],'お問い合わせありがとうございます。',$message);
138
+
139
+ mail('aaaaa@gmail.com','お問い合わせありがとうございます。',$message);
140
+
141
+ $_SESSION = array();
142
+
143
+ $mode = 'send';
144
+
145
+ } else {
146
+
147
+ $_SESSION['fullname'] = "";
148
+
149
+ $_SESSION['email'] = "";
150
+
151
+ $_SESSION['tel'] = "";
152
+
153
+ $_SESSION['cs'] = "";
154
+
155
+ $_SESSION['message'] = "";
156
+
157
+ }
158
+
159
+ ?>
160
+
161
+ <!DOCTYPE html>
162
+
163
+ <html lang="ja">
164
+
165
+ <head>
166
+
167
+ <meta charset="utf-8">
168
+
169
+ <title>お問い合わせフォーム</title>
170
+
171
+ </head>
172
+
173
+ <body>
174
+
175
+ <?php if( $mode == 'input' ){ ?>
176
+
177
+ <!-- 入力画面 -->
178
+
179
+ <?php
180
+
181
+ if( $errmessage ){
182
+
183
+ echo '<div style="color:red;">';
184
+
185
+ echo implode('<br>', $errmessage );
186
+
187
+ echo '</div>';
188
+
189
+ }
190
+
191
+ ?>
192
+
193
+ <form action="./page-contact.php" method="post">
194
+
195
+ 名前 <input type="text" name="fullname" value="<?php echo $_SESSION['fullname'] ?>">
196
+
197
+ Eメール <input type="email" name="email" value="<?php echo $_SESSION['email'] ?>">
198
+
199
+ 電話番号 <input type="tel" name="tel" value="<?php echo $_SESSION['tel'] ?>">
200
+
201
+ お問い合わせ項目<select name= "cs">
202
+
203
+ <option hidden>選択してください</option>
204
+
205
+ <option value = "映画">映画</option>
206
+
207
+ <option value = "アニメ">アニメ</option>
208
+
209
+ <option value = "音楽">音楽</option>
210
+
211
+ <option value = "絵画">絵画</option>
212
+
213
+ <option value = "その他">その他</option>
214
+
215
+ </select>
216
+
217
+ お問い合わせ内容
218
+
219
+ <textarea cols="40" rows="8" name="message"><?php echo $_SESSION['message'] ?></textarea>
220
+
221
+ <input type="submit" name="confirm" value="確認" />
222
+
223
+ </form>
224
+
225
+ <?php } else if( $mode == 'confirm' ){ ?>
226
+
227
+ <!-- 確認画面 -->
228
+
229
+ <form action="./page-contact.php" method="post">
230
+
231
+ 名前<?php echo $_SESSION['fullname'] ?>
232
+
233
+ Eメール <?php echo $_SESSION['email'] ?>
234
+
235
+  電話番号 <?php echo $_SESSION['tel'] ?>
236
+
237
+ お問い合わせ項目 <?php echo $_SESSION['cs'] ?>
238
+
239
+ お問い合わせ内容
240
+
241
+ <?php echo nl2br($_SESSION['message']) ?>
242
+
243
+ <input type="submit" name="back" value="戻る" />
244
+
245
+ <input type="submit" name="send" value="送信" />
246
+
247
+ </form>
248
+
249
+ <?php } else { ?>
250
+
251
+ <!-- 完了画面 -->
252
+
253
+ 送信しました。お問い合わせありがとうございました。<br>
254
+
255
+ <?php } ?>
256
+
257
+ </body>
258
+
259
+ </html>
260
+
261
+
262
+
263
+ ### 試したこと
264
+
265
+
266
+
267
+ ここに問題に対して試したことを記載してください。
268
+
269
+ ```ここに言語を入力
270
+
271
+ if(isset($_POST['cs'])) {
272
+
273
+ $errmessage[] = "お問い合わせ項目を選択してください。";
274
+
275
+ echo 'お問い合わせ項目:' . $cs;
276
+
277
+ } else {
278
+
279
+ $errmessage[] = "お問い合わせ項目が選択されていません。";
280
+
281
+ }
12
282
 
13
283
  ```
14
284
 
15
- 選択をしても「お問い合わせ項目を選択してください。」とでて次にすすめなくなってしまう。
16
-
17
- ```
18
-
19
-
20
-
21
- ### 該当のソースコード
22
-
23
-
24
-
25
- <html>
26
-
27
- <head>
28
-
29
- <body>
30
-
31
- <?php
32
-
33
- session_start();
34
-
35
- $mode = 'input';
36
-
37
- $errmessage = array();
38
-
39
- if( isset($_POST['back']) && $_POST['back'] ){
40
-
41
- // 何もしない
42
-
43
- } else if( isset($_POST['confirm']) && $_POST['confirm'] ){
44
-
45
- // 確認画面
46
-
47
- if( !$_POST['fullname'] ) {
48
-
49
- $errmessage[] = "名前を入力してください";
50
-
51
- } else if( mb_strlen($_POST['fullname']) > 100 ){
52
-
53
- $errmessage[] = "名前は100文字以内にしてください";
54
-
55
- }
56
-
57
- $_SESSION['fullname'] = htmlspecialchars($_POST['fullname'], ENT_QUOTES);
58
-
59
-
60
-
61
- if( !$_POST['email'] ) {
62
-
63
- $errmessage[] = "Eメールを入力してください。";
64
-
65
- } else if( mb_strlen($_POST['email']) > 200 ){
66
-
67
- $errmessage[] = "Eメールは200文字以内にしてください。";
68
-
69
- } else if( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ){
70
-
71
- $errmessage[] = "メールアドレスが不正です。";
72
-
73
- }
74
-
75
- $_SESSION['email'] = htmlspecialchars($_POST['email'], ENT_QUOTES);
76
-
77
- if( !$_POST['tel'] ) {
78
-
79
- $errmessage[] = "電話番号を入力してください。";
80
-
81
- } else if( mb_strlen($_POST['tel']) > 12 ){
82
-
83
- $errmessage[] = "電話番号は12桁以内にしてください。。";
84
-
85
- }
86
-
87
- if(isset($_POST['cs'])) {
88
-
89
- $errmessage[] = "お問い合わせ項目を選択してください。";
90
-
91
- echo 'お問い合わせ項目:' . $cs;
92
-
93
- } else {
94
-
95
- $errmessage[] = "お問い合わせ項目が選択されていません。";
96
-
97
- }
98
-
99
-        $_SESSION['cs'] = htmlspecialchars($_POST['cs'], ENT_QUOTES);
100
-
101
- if( !$_POST['message'] ){
102
-
103
- $errmessage[] = "お問い合わせ内容を入力してください。";
104
-
105
- } else if( mb_strlen($_POST['message']) > 1000 ){
106
-
107
- $errmessage[] = "お問い合わせ内容は1000文字以内にしてください";
108
-
109
- }
110
-
111
- $_SESSION['message'] = htmlspecialchars($_POST['message'], ENT_QUOTES);
112
-
113
-
114
-
115
- if( $errmessage ){
116
-
117
- $mode = 'input';
118
-
119
- } else {
120
-
121
- $mode = 'confirm';
122
-
123
- }
124
-
125
- } else if( isset($_POST['send']) && $_POST['send'] ){
126
-
127
- // 送信ボタンを押したとき
128
-
129
- $message = "お問い合わせを受け付けました。 \r\n"
130
-
131
- . "名前: " . $_SESSION['fullname'] . "\r\n"
132
-
133
- . "email: " . $_SESSION['email'] . "\r\n"
134
-
135
- . "tel: " . $_SESSION['tel'] . "\r\n"
136
-
137
- . "お問い合わせ項目: " . $_SESSION['cs'] . "\r\n"
138
-
139
- . "お問い合わせ内容:\r\n"
140
-
141
- . preg_replace("/\r\n|\r|\n/", "\r\n", $_SESSION['message']);
142
-
143
- mail($_SESSION['email'],'お問い合わせありがとうございます。',$message);
144
-
145
- mail('aaaaa@gmail.com','お問い合わせありがとうございます。',$message);
146
-
147
- $_SESSION = array();
148
-
149
- $mode = 'send';
150
-
151
- } else {
152
-
153
- $_SESSION['fullname'] = "";
154
-
155
- $_SESSION['email'] = "";
156
-
157
- $_SESSION['tel'] = "";
158
-
159
- $_SESSION['cs'] = "";
160
-
161
- $_SESSION['message'] = "";
162
-
163
- }
164
-
165
- ?>
166
-
167
- <!DOCTYPE html>
168
-
169
- <html lang="ja">
170
-
171
- <head>
172
-
173
- <meta charset="utf-8">
174
-
175
- <title>お問い合わせフォーム</title>
176
-
177
- </head>
178
-
179
- <body>
180
-
181
- <?php if( $mode == 'input' ){ ?>
182
-
183
- <!-- 入力画面 -->
184
-
185
- <?php
186
-
187
- if( $errmessage ){
188
-
189
- echo '<div style="color:red;">';
190
-
191
- echo implode('<br>', $errmessage );
192
-
193
- echo '</div>';
194
-
195
- }
196
-
197
- ?>
198
-
199
- <form action="./page-contact.php" method="post">
200
-
201
- 名前 <input type="text" name="fullname" value="<?php echo $_SESSION['fullname'] ?>">
202
-
203
- Eメール <input type="email" name="email" value="<?php echo $_SESSION['email'] ?>">
204
-
205
- 電話番号 <input type="tel" name="tel" value="<?php echo $_SESSION['tel'] ?>">
206
-
207
- お問い合わせ項目<select name= "cs">
208
-
209
- <option hidden>選択してください</option>
210
-
211
- <option value = "映画">映画</option>
212
-
213
- <option value = "アニメ">アニメ</option>
214
-
215
- <option value = "音楽">音楽</option>
216
-
217
- <option value = "絵画">絵画</option>
218
-
219
- <option value = "その他">その他</option>
220
-
221
- </select>
222
-
223
- お問い合わせ内容
224
-
225
- <textarea cols="40" rows="8" name="message"><?php echo $_SESSION['message'] ?></textarea>
226
-
227
- <input type="submit" name="confirm" value="確認" />
228
-
229
- </form>
230
-
231
- <?php } else if( $mode == 'confirm' ){ ?>
232
-
233
- <!-- 確認画面 -->
234
-
235
- <form action="./page-contact.php" method="post">
236
-
237
- 名前<?php echo $_SESSION['fullname'] ?>
238
-
239
- Eメール <?php echo $_SESSION['email'] ?>
240
-
241
-  電話番号 <?php echo $_SESSION['tel'] ?>
242
-
243
- お問い合わせ項目 <?php echo $_SESSION['cs'] ?>
244
-
245
- お問い合わせ内容
246
-
247
- <?php echo nl2br($_SESSION['message']) ?>
248
-
249
- <input type="submit" name="back" value="戻る" />
250
-
251
- <input type="submit" name="send" value="送信" />
252
-
253
- </form>
254
-
255
- <?php } else { ?>
256
-
257
- <!-- 完了画面 -->
258
-
259
- 送信しました。お問い合わせありがとうございました。<br>
260
-
261
- <?php } ?>
262
-
263
- </body>
264
-
265
- </html>
266
-
267
- ソースコード
268
-
269
- ```
270
-
271
-
272
-
273
- ### 試したこと
274
-
275
-
276
-
277
- ここに問題に対して試したことを記載してください。
278
-
279
- ```ここに言語を入力
280
-
281
- if(isset($_POST['cs'])) {
282
-
283
- $errmessage[] = "お問い合わせ項目を選択してください。";
284
-
285
- echo 'お問い合わせ項目:' . $cs;
286
-
287
- } else {
288
-
289
- $errmessage[] = "お問い合わせ項目が選択されていません。";
290
-
291
- }
292
-
293
- ```
294
-
295
285
  この部分を削除してみましたが、警告メッセージがでないままでした。