質問編集履歴

4

文法の修正

2019/08/17 04:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,8 @@
26
26
 
27
27
  11:15 加筆修正しました
28
28
 
29
+ 13:26 修正したコードを載せました
30
+
29
31
 
30
32
 
31
33
  ###
@@ -201,3 +203,175 @@
201
203
  ?>
202
204
 
203
205
  ```
206
+
207
+
208
+
209
+ ###修正後のコード
210
+
211
+ ```
212
+
213
+ <?php
214
+
215
+ define("COMMENT_LIST_FILE","mission_3-3_new.txt");
216
+
217
+
218
+
219
+ if(!empty($_POST["user"]) || !empty($_POST["comment"])){
220
+
221
+
222
+
223
+
224
+
225
+ $date = date("y/m/d H:i");
226
+
227
+
228
+
229
+ //カウント用ファイルを開く
230
+
231
+ $fp2 = fopen("count.txt","r");
232
+
233
+ $num_text = fgets($fp2);//1行目を文字列として読み込む
234
+
235
+ fclose($fp2);//ファイルを閉じる
236
+
237
+
238
+
239
+ $num_text +=1;//カウントを1増やす
240
+
241
+
242
+
243
+ $fp2 = fopen("count.txt","w");
244
+
245
+ fwrite($fp2,$num_text);//新しい数値を書き込む
246
+
247
+ fclose($fp2);
248
+
249
+
250
+
251
+ //投稿内容用ファイルを開く
252
+
253
+ $fp = fopen(COMMENT_LIST_FILE, "a");
254
+
255
+ $info = $num_text."<>".$_POST["user"]."<>".$_POST["comment"]."<>".$date;
256
+
257
+ fwrite($fp, $info."\r\n");
258
+
259
+ fclose($fp);
260
+
261
+
262
+
263
+ if(!empty($_POST["deletenumber"])){
264
+
265
+
266
+
267
+ $comment_list = file(COMMENT_LIST_FILE);//テキストの1行ごとに配列に入れる
268
+
269
+
270
+
271
+ $fp = fopen(COMMENT_LIST_FILE, "w");//テキストファイルを空にする
272
+
273
+ fclose($fp);
274
+
275
+
276
+
277
+ $fp3 = fopen(COMMENT_LIST_FILE, "a");
278
+
279
+ foreach($comment_list as $comment_data){//区切って1文ずつチェックする
280
+
281
+ $splits = explode("<>",$comment_data);
282
+
283
+
284
+
285
+ if($sptits[0] !== $_POST["deletenumber"]){
286
+
287
+ fwrite($fp3, $info."\r\n");
288
+
289
+ }else{ continue; }
290
+
291
+ fclose($fp3);
292
+
293
+ }
294
+
295
+ }
296
+
297
+ }
298
+
299
+ ?>
300
+
301
+
302
+
303
+ <!DOCTYPE html>
304
+
305
+ <html lang="ja">
306
+
307
+ <html>
308
+
309
+ <head>
310
+
311
+ <meta charset="utf-8">
312
+
313
+ <title>mission3-3_new</title>
314
+
315
+ </head>
316
+
317
+ <body>
318
+
319
+ <form action="mission_3-3_new.php" method="post">
320
+
321
+ 【 投稿フォーム 】<br>
322
+
323
+ 名  前:
324
+
325
+ <input type="text" name="user" value=""><br>
326
+
327
+ コメント:
328
+
329
+ <input type="text" name="comment" value=""><br>
330
+
331
+ <input type="submit"><br><br>
332
+
333
+ 【 削除フォーム 】<br>
334
+
335
+ 投稿番号:
336
+
337
+ <input type="text" name="deletenumber" value=""><br>
338
+
339
+ <input type="submit" value="削除"><br><br>
340
+
341
+ </form>
342
+
343
+ 【 投稿一覧 】<br>
344
+
345
+ </body>
346
+
347
+ </html>
348
+
349
+
350
+
351
+ <?php
352
+
353
+ $comment_list = file(COMMENT_LIST_FILE);
354
+
355
+ foreach($comment_list as $comment_data){
356
+
357
+ $splits = explode("<>",$comment_data);
358
+
359
+
360
+
361
+ if($splits[0] !== $_POST["deletenumber"]){
362
+
363
+ //投稿番号、氏名、コメント、日時を表示して改行する
364
+
365
+ echo $splits[0].".".$splits[1].".".$splits[2].".".$splits[3]."<br>";
366
+
367
+ }
368
+
369
+
370
+
371
+ //繰り返し処理はここまで
372
+
373
+ }
374
+
375
+ ?>
376
+
377
+ ```

3

書式の改善

2019/08/17 04:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  投稿フォームからであればテキストファイルに追記書き込み、削除フォームからなら指定番号と一致する投稿番号を削除。
4
4
 
5
- 削除する際にfileにテキスト内容を1行ずつ配列に入れて、foreachで配列を確認し、指定番号と投稿番号が一致していれば飛ばす。そうでなければ書き込むということを行う。
5
+ 削除する方法は、fileにテキスト内容を1行ずつ配列に入れて、foreachで配列を確認し、指定番号と投稿番号が一致していれば飛ばす。そうでなければ書き込むということを行う。
6
6
 
7
7
 
8
8
 

2

書式の改善

2019/08/17 02:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -24,6 +24,10 @@
24
24
 
25
25
 
26
26
 
27
+ 11:15 加筆修正しました
28
+
29
+
30
+
27
31
  ###
28
32
 
29
33
  ```

1

書式の改善

2019/08/17 02:16

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  を目標にしているのですが今のままでは、
10
10
 
11
- ・ページを開くとすでに「Notice: Undefined index: deletenumber in /public_html/mission_3-3_new.php on line 72」というエラーが出ている。
11
+ ・ページを開くとすでに「Notice: Undefined index: deletenumber in /public_html/mission_3-3_new.php on line 77」というエラーが出ている。
12
12
 
13
13
 
14
14
 
@@ -29,6 +29,10 @@
29
29
  ```
30
30
 
31
31
  <?php
32
+
33
+ define("COMMENT_LIST_FILE","mission_3-3_new.txt");
34
+
35
+
32
36
 
33
37
  if(!empty($_POST["user"]) || !empty($_POST["comment"]) || !empty($_POST["deletenumber"])){
34
38
 
@@ -64,7 +68,7 @@
64
68
 
65
69
  //投稿内容用ファイルを開く
66
70
 
67
- $fp = fopen("mission_3-3_new.txt", "a");
71
+ $fp = fopen(COMMENT_LIST_FILE, "a");
68
72
 
69
73
  $info = $num_text."<>".$_POST["user"]."<>".$_POST["comment"]."<>".$date;
70
74
 
@@ -78,17 +82,17 @@
78
82
 
79
83
 
80
84
 
81
- $comment_list = file("mission_3-3_new.txt");//テキストの1行ごとに配列に入れる
85
+ $comment_list = file(COMMENT_LIST_FILE);//テキストの1行ごとに配列に入れる
82
86
 
83
87
 
84
88
 
85
- $fp = fopen("mission_3-3_new.txt", "w");//テキストファイルを空にする
89
+ $fp = fopen(COMMENT_LIST_FILE, "w");//テキストファイルを空にする
86
90
 
87
91
  fclose($fp);
88
92
 
89
93
 
90
94
 
91
- $fp3 = fopen("mission_3-3_new.txt", "a");
95
+ $fp3 = fopen(COMMENT_LIST_FILE, "a");
92
96
 
93
97
  foreach($comment_list as $comment_data){//区切って1文ずつチェックする
94
98
 
@@ -168,7 +172,7 @@
168
172
 
169
173
  <?php
170
174
 
171
- $hairetsu = file("mission_3-3_new.txt");
175
+ $hairetsu = file(COMMENT_LIST_FILE);
172
176
 
173
177
  foreach($hairetsu as $hensuu){
174
178