質問編集履歴

9

コードを一部変更しました

2021/06/27 01:52

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -186,13 +186,17 @@
186
186
 
187
187
 
188
188
 
189
- __else{
189
+ else{
190
190
 
191
191
  foreach $haijyo (@haijyo) {
192
192
 
193
- if ($FORM{'com'} =~ /$haijyo/) {print "<P id=\"p6\">NGワードで投稿できません</p>";}
193
+ if ($FORM{'com'} =~ /$haijyo/) {
194
+
194
-
195
+ &error_message('NGワードがあります');
196
+
195
- }__
197
+ }
198
+
199
+ }
196
200
 
197
201
 
198
202
 

8

説明文を変更しました

2021/06/27 01:52

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -250,21 +250,19 @@
250
250
 
251
251
 
252
252
 
253
- NGワードがありま出るようなりましたが、「戻って修正する」という表示を出すことができませんでした
253
+ NGワードがヒット、以下のような変化がありましたが、メッセージや「戻って修正する」ボタンが表示されません。
254
-
255
-
256
-
257
- 投稿ボタンまで出てしまっています。
254
+
258
-
259
-
260
-
255
+
256
+
261
- ![イメージ説明](99bb97e9ccc934622613f6bdb07e5893.png)
257
+ ![イメージ説明](d184ca14468d6670cdd3aea7b02a21d3.png)
262
-
263
-
264
-
265
-
266
-
258
+
259
+
260
+
261
+
262
+
267
- 下の図は、名前を空欄にした時ですが、この場合は投稿ボタンは出ないんです。
263
+ 下の図は、名前を空欄にした時ですが、メッセージが表示され、「戻って修正する」ボタンが表示されます。
264
+
265
+
268
266
 
269
267
 
270
268
 
@@ -272,7 +270,7 @@
272
270
 
273
271
 
274
272
 
275
- NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタンを出さないようにするには、どうすれば良いでしょうか
273
+ NGワードがヒットした時も、名前の空欄時と同じように、メッセージが表示され、「戻って修正する」ボタンが表示するには、どうすれば良いでしょうか
276
274
 
277
275
 
278
276
 

7

説明文を変更しました

2021/06/27 01:45

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -62,6 +62,194 @@
62
62
 
63
63
 
64
64
 
65
+ 以下はPerlの掲示板プログラムの一部です。
66
+
67
+
68
+
69
+ -(B)-----------------------------------------------------------------
70
+
71
+
72
+
73
+ ```ここに言語を入力
74
+
75
+ <TR><TD>
76
+
77
+ <form action="$bbs_write" method="POST">
78
+
79
+ <input type=hidden name="mode" value="check1">
80
+
81
+ <input type=hidden name="ip" value=$ENV{'REMOTE_ADDR'}>
82
+
83
+ <input type=hidden name="mail" value="$FORM{'mail'}">
84
+
85
+ <input type=hidden name="date" value="$FORM{'date'}">
86
+
87
+ <TABLE cellpadding="2" cellspacing="0" border="1">
88
+
89
+ <TR><TD><P id="p1">お名前:</p></TD><TD><input type="text" name="name" size="30" value="" maxlength="10"></TD></TR>
90
+
91
+ <TR><TD><P id="p1">地域:</p></TD><TD><select name="sub"><option value='' selected>▼地域
92
+
93
+ EOM
94
+
95
+ foreach $subs (@subss){ print "<option>$subs\n"; }
96
+
97
+ print <<"EOM";
98
+
99
+ </select></TD></TR>
100
+
101
+ <TR><TD><P id="p1">年齢:</p></TD><TD><select name="age"><option value='' selected>▼年齢
102
+
103
+ EOM
104
+
105
+ foreach $ages (@agess){ print "<option>$ages\n"; }
106
+
107
+ print <<"EOM";
108
+
109
+ </select></TD></TR>
110
+
111
+ <TR><TD><P id="p1">コメント:</p></TD><TD>
112
+
113
+ <textarea name="com" cols="50" rows="10"></textarea></TD></TR>
114
+
115
+ <TR><TD></TD><TD><input type="submit" value="確認"></TD></TR>
116
+
117
+ </TABLE>
118
+
119
+ </form>
120
+
121
+ </TD></TR></TABLE>
122
+
123
+ EOM
124
+
125
+
126
+
127
+
128
+
129
+ #■入力投稿内容確認モード
130
+
131
+ sub check1{
132
+
133
+ &header;
134
+
135
+ print <<"EOM";
136
+
137
+ <TABLE cellspacing="2" cellpadding="5" width="100%">
138
+
139
+ <TR><TD id="d07"><h5 id="h51">■$bbs_title (XXXX掲示板)</h5></TD></TR>
140
+
141
+
142
+
143
+ <TR><TD><P id="p1">
144
+
145
+ 投稿内容確認
146
+
147
+ </p></TD></TR>
148
+
149
+ <TABLE cellpadding="2" cellspacing="0" border="1" width="550">
150
+
151
+ <TR><TD><P id="p1">お名前:</p></TD><TD><P id="p1">$FORM{'name'}</p></TD></TR>
152
+
153
+ <TR><TD><P id="p1">地域:</p></TD><TD><P id="p1">$FORM{'sub'}</p></TD></TR>
154
+
155
+ <TR><TD><P id="p1">年齢:</p></TD><TD><P id="p1">$FORM{'age'}</p></TD></TR>
156
+
157
+ <TR><TD><P id="p1">コメント:</p></TD><TD><P id="p1">$FORM{'com'}</p></TD></TR>
158
+
159
+ EOM
160
+
161
+
162
+
163
+
164
+
165
+ __@haijyo = (
166
+
167
+ 'バカ'
168
+
169
+ ,'アホ'
170
+
171
+ ,'頭が悪い'
172
+
173
+ );__
174
+
175
+
176
+
177
+
178
+
179
+ if($FORM{'name'} eq ''){print "<P id=\"p6\">お名前が未記入です</p>";}
180
+
181
+ elsif($FORM{'sub'} eq ''){print "<P id=\"p6\">地域が未選択です</p>";}
182
+
183
+ elsif($FORM{'age'} eq ''){print "<P id=\"p6\">年齢が未選択です</p>";}
184
+
185
+ elsif($FORM{'com'} eq ''){print "<P id=\"p6\">コメントが未記入です</p>";}
186
+
187
+
188
+
189
+ __else{
190
+
191
+ foreach $haijyo (@haijyo) {
192
+
193
+ if ($FORM{'com'} =~ /$haijyo/) {print "<P id=\"p6\">NGワードで投稿できません</p>";}
194
+
195
+ }__
196
+
197
+
198
+
199
+ print <<"EOM";
200
+
201
+
202
+
203
+ <P id="p6">
204
+
205
+ print <<"EOM";
206
+
207
+ <P id="p6">
208
+
209
+ 下の「投稿ボタン」を押すと、入力したメールアドレス宛てに「確認メール」が送信されます。<BR>
210
+
211
+ 投稿ボタンを押す前に、再度ご確認下さい。</p>
212
+
213
+ <input type="submit" value="投稿">
214
+
215
+ EOM
216
+
217
+ }
218
+
219
+
220
+
221
+
222
+
223
+ print <<"EOM";
224
+
225
+ </TD></TR></TABLE>
226
+
227
+ </form><BR>
228
+
229
+ <FORM>
230
+
231
+ <INPUT type="button" value="戻って修正する" onClick="pageBack()">
232
+
233
+ </FORM>
234
+
235
+ </TD></TR></TABLE><BR>
236
+
237
+ EOM
238
+
239
+ }exit;
240
+
241
+ ```
242
+
243
+
244
+
245
+ -------------------------------------------------------------------
246
+
247
+
248
+
249
+
250
+
251
+
252
+
65
253
  「NGワードがあります」と出るようになりましたが、「戻って修正する」という表示を出すことができませんでした。
66
254
 
67
255
 
@@ -89,193 +277,3 @@
89
277
 
90
278
 
91
279
  よろしくお願い致します。
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
- 以下はPerlの掲示板プログラムの一部です。
102
-
103
-
104
-
105
- -(B)-----------------------------------------------------------------
106
-
107
-
108
-
109
- ```ここに言語を入力
110
-
111
- <TR><TD>
112
-
113
- <form action="$bbs_write" method="POST">
114
-
115
- <input type=hidden name="mode" value="check1">
116
-
117
- <input type=hidden name="ip" value=$ENV{'REMOTE_ADDR'}>
118
-
119
- <input type=hidden name="mail" value="$FORM{'mail'}">
120
-
121
- <input type=hidden name="date" value="$FORM{'date'}">
122
-
123
- <TABLE cellpadding="2" cellspacing="0" border="1">
124
-
125
- <TR><TD><P id="p1">お名前:</p></TD><TD><input type="text" name="name" size="30" value="" maxlength="10"></TD></TR>
126
-
127
- <TR><TD><P id="p1">地域:</p></TD><TD><select name="sub"><option value='' selected>▼地域
128
-
129
- EOM
130
-
131
- foreach $subs (@subss){ print "<option>$subs\n"; }
132
-
133
- print <<"EOM";
134
-
135
- </select></TD></TR>
136
-
137
- <TR><TD><P id="p1">年齢:</p></TD><TD><select name="age"><option value='' selected>▼年齢
138
-
139
- EOM
140
-
141
- foreach $ages (@agess){ print "<option>$ages\n"; }
142
-
143
- print <<"EOM";
144
-
145
- </select></TD></TR>
146
-
147
- <TR><TD><P id="p1">コメント:</p></TD><TD>
148
-
149
- <textarea name="com" cols="50" rows="10"></textarea></TD></TR>
150
-
151
- <TR><TD></TD><TD><input type="submit" value="確認"></TD></TR>
152
-
153
- </TABLE>
154
-
155
- </form>
156
-
157
- </TD></TR></TABLE>
158
-
159
- EOM
160
-
161
-
162
-
163
-
164
-
165
- #■入力投稿内容確認モード
166
-
167
- sub check1{
168
-
169
- &header;
170
-
171
- print <<"EOM";
172
-
173
- <TABLE cellspacing="2" cellpadding="5" width="100%">
174
-
175
- <TR><TD id="d07"><h5 id="h51">■$bbs_title (XXXX掲示板)</h5></TD></TR>
176
-
177
-
178
-
179
- <TR><TD><P id="p1">
180
-
181
- 投稿内容確認
182
-
183
- </p></TD></TR>
184
-
185
- <TABLE cellpadding="2" cellspacing="0" border="1" width="550">
186
-
187
- <TR><TD><P id="p1">お名前:</p></TD><TD><P id="p1">$FORM{'name'}</p></TD></TR>
188
-
189
- <TR><TD><P id="p1">地域:</p></TD><TD><P id="p1">$FORM{'sub'}</p></TD></TR>
190
-
191
- <TR><TD><P id="p1">年齢:</p></TD><TD><P id="p1">$FORM{'age'}</p></TD></TR>
192
-
193
- <TR><TD><P id="p1">コメント:</p></TD><TD><P id="p1">$FORM{'com'}</p></TD></TR>
194
-
195
- EOM
196
-
197
-
198
-
199
-
200
-
201
- __@haijyo = (
202
-
203
- 'バカ'
204
-
205
- ,'アホ'
206
-
207
- ,'頭が悪い'
208
-
209
- );__
210
-
211
-
212
-
213
-
214
-
215
- if($FORM{'name'} eq ''){print "<P id=\"p6\">お名前が未記入です</p>";}
216
-
217
- elsif($FORM{'sub'} eq ''){print "<P id=\"p6\">地域が未選択です</p>";}
218
-
219
- elsif($FORM{'age'} eq ''){print "<P id=\"p6\">年齢が未選択です</p>";}
220
-
221
- elsif($FORM{'com'} eq ''){print "<P id=\"p6\">コメントが未記入です</p>";}
222
-
223
-
224
-
225
- __else{
226
-
227
- foreach $haijyo (@haijyo) {
228
-
229
- if ($FORM{'com'} =~ /$haijyo/) {print "<P id=\"p6\">NGワードで投稿できません</p>";}
230
-
231
- }__
232
-
233
-
234
-
235
- print <<"EOM";
236
-
237
-
238
-
239
- <P id="p6">
240
-
241
- print <<"EOM";
242
-
243
- <P id="p6">
244
-
245
- 下の「投稿ボタン」を押すと、入力したメールアドレス宛てに「確認メール」が送信されます。<BR>
246
-
247
- 投稿ボタンを押す前に、再度ご確認下さい。</p>
248
-
249
- <input type="submit" value="投稿">
250
-
251
- EOM
252
-
253
- }
254
-
255
-
256
-
257
-
258
-
259
- print <<"EOM";
260
-
261
- </TD></TR></TABLE>
262
-
263
- </form><BR>
264
-
265
- <FORM>
266
-
267
- <INPUT type="button" value="戻って修正する" onClick="pageBack()">
268
-
269
- </FORM>
270
-
271
- </TD></TR></TABLE><BR>
272
-
273
- EOM
274
-
275
- }exit;
276
-
277
- ```
278
-
279
-
280
-
281
- -------------------------------------------------------------------

6

説明文を変更しました

2021/06/27 01:38

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,35 @@
62
62
 
63
63
 
64
64
 
65
- 「NGワードがあります」と出るようになりましたが、「修正して戻る」という表示を出すことができません。
65
+ 「NGワードがあります」と出るようになりましたが、「戻って修正る」という表示を出すことができませんでした
66
+
67
+
68
+
69
+ 投稿ボタンまで出てしまっています。
70
+
71
+
72
+
73
+ ![イメージ説明](99bb97e9ccc934622613f6bdb07e5893.png)
74
+
75
+
76
+
77
+
78
+
79
+ 下の図は、名前を空欄にした時ですが、この場合は投稿ボタンは出ないんです。
80
+
81
+
82
+
83
+ ![イメージ説明](b10cc7d7ad2d22eb055b81c683f00430.png)
84
+
85
+
86
+
87
+ NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタンを出さないようにするには、どうすれば良いでしょうか。
88
+
89
+
90
+
91
+ よろしくお願い致します。
92
+
93
+
66
94
 
67
95
 
68
96
 
@@ -251,39 +279,3 @@
251
279
 
252
280
 
253
281
  -------------------------------------------------------------------
254
-
255
-
256
-
257
- 【更新】
258
-
259
-
260
-
261
- 修正してみました。斜字のところが修正部分です。
262
-
263
-
264
-
265
- 下図の通り、NGワードを認識して、表示が出るようになりました!
266
-
267
- しかしながら投稿ボタンまで出てしまっています。
268
-
269
-
270
-
271
- ![イメージ説明](99bb97e9ccc934622613f6bdb07e5893.png)
272
-
273
-
274
-
275
-
276
-
277
- 下の図は、名前を空欄にした時ですが、この場合は投稿ボタンは出ないんです。
278
-
279
-
280
-
281
- ![イメージ説明](b10cc7d7ad2d22eb055b81c683f00430.png)
282
-
283
-
284
-
285
- NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタンを出さないようにするには、どうすれば良いでしょうか。
286
-
287
-
288
-
289
- よろしくお願い致します。

5

説明文を変更しました

2021/06/27 01:36

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- という表示を出したいと思っていますが、そのやり方が分かりません。
9
+ という表示を出したいと思っていますが、そのやり方が分かりませんでした
10
-
11
-
12
10
 
13
11
 
14
12
 
@@ -60,11 +58,11 @@
60
58
 
61
59
 
62
60
 
63
- 上記(A)を下記(B)に組み込むにはどうすれば、良いのでしょうか?
61
+ 上記(A)を、ここでいただいたアドバイスに従って下記(B)に組み込こんみまた。
64
-
65
-
66
-
62
+
63
+
64
+
67
- 自分でやってみましたが、うまくできませんでした
65
+ 「NGワードがありす」と出るようになりましたが、「修正して戻る」とい表示を出すことができません。
68
66
 
69
67
 
70
68
 
@@ -284,7 +282,7 @@
284
282
 
285
283
 
286
284
 
287
- NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタン出さないようにするには、どうすれば良いでしょうか。
285
+ NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタン出さないようにするには、どうすれば良いでしょうか。
288
286
 
289
287
 
290
288
 

4

Codeにしました。

2021/06/27 01:34

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,8 @@
26
26
 
27
27
 
28
28
 
29
+ ```ここに言語を入力
30
+
29
31
  @haijyo = (
30
32
 
31
33
  'バカ'
@@ -48,6 +50,8 @@
48
50
 
49
51
  }
50
52
 
53
+ ```
54
+
51
55
 
52
56
 
53
57
  ------------------------------------------
@@ -76,6 +80,8 @@
76
80
 
77
81
 
78
82
 
83
+ ```ここに言語を入力
84
+
79
85
  <TR><TD>
80
86
 
81
87
  <form action="$bbs_write" method="POST">
@@ -242,6 +248,8 @@
242
248
 
243
249
  }exit;
244
250
 
251
+ ```
252
+
245
253
 
246
254
 
247
255
  -------------------------------------------------------------------

3

図の説明を追記しました

2021/06/27 01:29

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -248,12 +248,36 @@
248
248
 
249
249
 
250
250
 
251
+ 【更新】
252
+
253
+
254
+
251
255
  修正してみました。斜字のところが修正部分です。
252
256
 
253
257
 
254
258
 
259
+ 下図の通り、NGワードを認識して、表示が出るようになりました!
260
+
261
+ しかしながら投稿ボタンまで出てしまっています。
262
+
263
+
264
+
255
265
  ![イメージ説明](99bb97e9ccc934622613f6bdb07e5893.png)
256
266
 
257
267
 
258
268
 
269
+
270
+
271
+ 下の図は、名前を空欄にした時ですが、この場合は投稿ボタンは出ないんです。
272
+
273
+
274
+
259
275
  ![イメージ説明](b10cc7d7ad2d22eb055b81c683f00430.png)
276
+
277
+
278
+
279
+ NGワードがヒットした時も、名前の空欄時と同じように、投稿ボタンが出さないようにするには、どうすれば良いでしょうか。
280
+
281
+
282
+
283
+ よろしくお願い致します。

2

図を2つ追加しました

2021/06/26 14:13

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- Perl(cgi)掲示板のコメント欄にNGをワードを書かれた場合、
1
+ 掲示板のコメント欄にNGをワードを書かれた場合、
2
2
 
3
3
 
4
4
 
@@ -248,6 +248,12 @@
248
248
 
249
249
 
250
250
 
251
-
252
-
253
- どうかアドバイスほど、よしくお願い致します。
251
+ 修正してみました。斜字とこが修正部分です。
252
+
253
+
254
+
255
+ ![イメージ説明](99bb97e9ccc934622613f6bdb07e5893.png)
256
+
257
+
258
+
259
+ ![イメージ説明](b10cc7d7ad2d22eb055b81c683f00430.png)

1

ありがとうございました!ご教示いただいた通り(B)に(A)を組み込んでみました。実行してみたところ、NGワードを認識して表示成功です!しかし、NGワードがあるのに投稿ボタンが出てしまいます。

2021/06/26 14:08

投稿

abokado
abokado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -130,6 +130,28 @@
130
130
 
131
131
 
132
132
 
133
+ #■入力投稿内容確認モード
134
+
135
+ sub check1{
136
+
137
+ &header;
138
+
139
+ print <<"EOM";
140
+
141
+ <TABLE cellspacing="2" cellpadding="5" width="100%">
142
+
143
+ <TR><TD id="d07"><h5 id="h51">■$bbs_title (XXXX掲示板)</h5></TD></TR>
144
+
145
+
146
+
147
+ <TR><TD><P id="p1">
148
+
149
+ 投稿内容確認
150
+
151
+ </p></TD></TR>
152
+
153
+ <TABLE cellpadding="2" cellspacing="0" border="1" width="550">
154
+
133
155
  <TR><TD><P id="p1">お名前:</p></TD><TD><P id="p1">$FORM{'name'}</p></TD></TR>
134
156
 
135
157
  <TR><TD><P id="p1">地域:</p></TD><TD><P id="p1">$FORM{'sub'}</p></TD></TR>
@@ -142,6 +164,22 @@
142
164
 
143
165
 
144
166
 
167
+
168
+
169
+ __@haijyo = (
170
+
171
+ 'バカ'
172
+
173
+ ,'アホ'
174
+
175
+ ,'頭が悪い'
176
+
177
+ );__
178
+
179
+
180
+
181
+
182
+
145
183
  if($FORM{'name'} eq ''){print "<P id=\"p6\">お名前が未記入です</p>";}
146
184
 
147
185
  elsif($FORM{'sub'} eq ''){print "<P id=\"p6\">地域が未選択です</p>";}
@@ -152,9 +190,57 @@
152
190
 
153
191
 
154
192
 
155
- else{
193
+ __else{
194
+
156
-
195
+ foreach $haijyo (@haijyo) {
196
+
197
+ if ($FORM{'com'} =~ /$haijyo/) {print "<P id=\"p6\">NGワードで投稿できません</p>";}
198
+
199
+ }__
200
+
201
+
202
+
157
- print <<"EOM";
203
+ print <<"EOM";
204
+
205
+
206
+
207
+ <P id="p6">
208
+
209
+ print <<"EOM";
210
+
211
+ <P id="p6">
212
+
213
+ 下の「投稿ボタン」を押すと、入力したメールアドレス宛てに「確認メール」が送信されます。<BR>
214
+
215
+ 投稿ボタンを押す前に、再度ご確認下さい。</p>
216
+
217
+ <input type="submit" value="投稿">
218
+
219
+ EOM
220
+
221
+ }
222
+
223
+
224
+
225
+
226
+
227
+ print <<"EOM";
228
+
229
+ </TD></TR></TABLE>
230
+
231
+ </form><BR>
232
+
233
+ <FORM>
234
+
235
+ <INPUT type="button" value="戻って修正する" onClick="pageBack()">
236
+
237
+ </FORM>
238
+
239
+ </TD></TR></TABLE><BR>
240
+
241
+ EOM
242
+
243
+ }exit;
158
244
 
159
245
 
160
246