回答編集履歴
5
修正
test
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
|
17
17
|
$strが最後に毎回fwriteで書き込まれているものと思われます。そもそもの作りを見直したほうが良いでしょう。
|
18
18
|
|
19
|
+
- 名前・コメントが未入力の場合のチェックがないため、何もなしで投稿した際に正しく追記されない(前の投稿の末尾に番号だけ追記される)
|
20
|
+
|
19
21
|
- 現状だと「HTML出力」→「削除」→「投稿書き込み」としているため、「削除を実行したものの削除直後は削除したはずのコメントが表示される(ページを読み直すと表示はされない)」という現象が起きるはずです。
|
20
22
|
|
21
23
|
「$_POST受け取って投稿書き込み or 削除の処理」→「最新のコメント取得」→「HTML表示(中にコメント展開)」とした方が良いです。
|
22
|
-
|
23
|
-
- 名前・コメントが未入力の場合のチェックがないため、何もなしで投稿した際に正しく追記されない
|
24
24
|
|
25
25
|
せっかく投稿と削除のformをわけるところまで出来ているので、下記のようにすることで読みやすく、メンテナンスもしやすいソースとなるはずです。
|
26
26
|
|
4
修正(入力チェックなど)
test
CHANGED
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
「$_POST受け取って投稿書き込み or 削除の処理」→「最新のコメント取得」→「HTML表示(中にコメント展開)」とした方が良いです。
|
22
22
|
|
23
|
+
- 名前・コメントが未入力の場合のチェックがないため、何もなしで投稿した際に正しく追記されない
|
24
|
+
|
23
25
|
せっかく投稿と削除のformをわけるところまで出来ているので、下記のようにすることで読みやすく、メンテナンスもしやすいソースとなるはずです。
|
24
26
|
|
25
27
|
※簡略ソースのためポイントのみ記述しています
|
@@ -38,15 +40,25 @@
|
|
38
40
|
|
39
41
|
//送信されたフォームにより処理を分岐
|
40
42
|
|
43
|
+
$error_name = null;
|
44
|
+
|
45
|
+
$error_comment = null;
|
46
|
+
|
47
|
+
$error_delete_no = null;
|
48
|
+
|
41
49
|
switch($_POST["mode"]){
|
42
50
|
|
43
51
|
case "add":
|
52
|
+
|
53
|
+
//名前・コメント未入力のチェック
|
44
54
|
|
45
55
|
//投稿追加処理
|
46
56
|
|
47
57
|
break;
|
48
58
|
|
49
59
|
case "delete":
|
60
|
+
|
61
|
+
//行番号未入力&数字じゃない場合のチェック
|
50
62
|
|
51
63
|
//投稿削除処理
|
52
64
|
|
@@ -104,9 +116,9 @@
|
|
104
116
|
|
105
117
|
<form action="" method="post">
|
106
118
|
|
107
|
-
名前<input type="text" name="name" ><br />
|
119
|
+
名前<input type="text" name="name" ><?php echo $error_name ?><br />
|
108
120
|
|
109
|
-
コメント<input type="text" name="comment"><br />
|
121
|
+
コメント<input type="text" name="comment"><?php echo $error_comment ?><br />
|
110
122
|
|
111
123
|
<br />
|
112
124
|
|
@@ -118,7 +130,7 @@
|
|
118
130
|
|
119
131
|
<form action="" method="POST">
|
120
132
|
|
121
|
-
削除対象番号<input type="text" name="deleteNo">
|
133
|
+
削除対象番号<input type="text" name="deleteNo"> <?php echo $error_delete_no ?>
|
122
134
|
|
123
135
|
<input type="submit" name="delete" value="削除">
|
124
136
|
|
3
修正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
```PHP
|
28
28
|
|
29
|
-
<?
|
29
|
+
<?php
|
30
30
|
|
31
31
|
$filemei = 'keijiban.txt'; //最初に定義しておき他の処理で利用する
|
32
32
|
|
2
修正
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
~~
|
104
104
|
|
105
|
-
<form action="
|
105
|
+
<form action="" method="post">
|
106
106
|
|
107
107
|
名前<input type="text" name="name" ><br />
|
108
108
|
|
1
修正
test
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
他何点か気づき:
|
8
|
+
|
9
|
+
- 投稿保存しているファイル名変数$filemeiを定義しているのに直にファイル名を書いているところが散見され、もったいない。
|
8
10
|
|
9
11
|
- 提示のソースコードでは変数・配列のキーの未定義エラーが大量に出ると思います。
|
10
12
|
|
@@ -14,9 +16,9 @@
|
|
14
16
|
|
15
17
|
$strが最後に毎回fwriteで書き込まれているものと思われます。そもそもの作りを見直したほうが良いでしょう。
|
16
18
|
|
17
|
-
- 現状だと「HTML出力」→「削除」→「投稿書き込み」としているため、「削除を実行したものの削除したはずのコメントが表示される」という現象が起きるはずです。
|
19
|
+
- 現状だと「HTML出力」→「削除」→「投稿書き込み」としているため、「削除を実行したものの削除直後は削除したはずのコメントが表示される(ページを読み直すと表示はされない)」という現象が起きるはずです。
|
18
20
|
|
19
|
-
「$_POST受け取って書き込み
|
21
|
+
「$_POST受け取って投稿書き込み or 削除の処理」→「最新のコメント取得」→「HTML表示(中にコメント展開)」とした方が良いです。
|
20
22
|
|
21
23
|
せっかく投稿と削除のformをわけるところまで出来ているので、下記のようにすることで読みやすく、メンテナンスもしやすいソースとなるはずです。
|
22
24
|
|
@@ -60,7 +62,9 @@
|
|
60
62
|
|
61
63
|
//全てのコメントを変数で受け取る
|
62
64
|
|
65
|
+
$comment = null;
|
66
|
+
|
63
|
-
$
|
67
|
+
$posts = file($filemei);
|
64
68
|
|
65
69
|
foreach($posts as $post){
|
66
70
|
|