質問編集履歴

2

コード編集

2018/12/03 12:56

投稿

kaity
kaity

スコア19

test CHANGED
@@ -1 +1 @@
1
- 編集機能で差し替えがうまくかないです。
1
+ 編集機能で差し替えをしたいです。
test CHANGED
@@ -22,16 +22,28 @@
22
22
 
23
23
  $name=$_POST["name"];//コメントフォーム
24
24
 
25
+
26
+
25
27
  $namae=$_POST["namae"];//名前フォーム
26
28
 
29
+
30
+
27
31
  $sakuzyo=$_POST["sakuzyo"];//削除フォーム
28
32
 
33
+
34
+
29
35
  $edit=$_POST["edit"];//編集機能フォーム
30
36
 
37
+
38
+
31
39
  $number=$_POST["number"];//編集番号フォーム
32
40
 
41
+
42
+
33
43
  $date=date('Y年m月d日 H時i分');//日付
34
44
 
45
+
46
+
35
47
  $filename="●●.txt";//テキストファイル
36
48
 
37
49
 
@@ -44,16 +56,28 @@
44
56
 
45
57
  if(empty($namae)==false&&empty($name)==false&&!empty($number)==false){//もし$namaeと$nameが空っぽじゃなくて$numberが空っぽなら
46
58
 
59
+
60
+
47
61
  $ret_array=file($filename);//テキストファイルを読み込み
48
62
 
63
+
64
+
49
65
  $d=$ret_array === false ? 1 : count($ret_array)+1;//2-1の要素の数を数える
50
66
 
67
+
68
+
51
69
  $a=$d."<>".$namae."<>".$name."<>".$date;//投稿番号、名前、コメント、日付
52
70
 
71
+
72
+
53
73
  $fp=fopen($filename,'a+');//読み込みと追加書き込みをする
54
74
 
75
+
76
+
55
77
  fwrite($fp,$a.PHP_EOL);//書き込み処理
56
78
 
79
+
80
+
57
81
  fclose($fp);
58
82
 
59
83
  }
@@ -70,28 +94,48 @@
70
94
 
71
95
  if(empty($sakuzyo)==false){//空っぽじゃなかったら
72
96
 
97
+
98
+
73
99
  $ret_array=file($filename);//テキストファイルを読み込み
74
100
 
101
+
102
+
75
103
  $kakikomi=fopen($filename,'w');//上書き書き込みする
76
104
 
105
+
106
+
77
107
  $kakikomi=fopen($filename,"a");//追加書き込み
78
108
 
109
+
110
+
79
111
  for($i=0; $i<count($ret_array);$i++){//ループ処理
80
112
 
113
+
114
+
81
115
  $ex=explode("<>",$ret_array[$i]);
82
116
 
117
+
118
+
83
119
  if($ex[0]==$sakuzyo){//削除番号と投稿番号一致したら
84
120
 
121
+
122
+
85
123
  continue;//スキップ
86
124
 
125
+
126
+
87
127
  }
88
128
 
89
129
  fwrite($kakikomi,$ret_array[$i]);//書き込み処理
90
130
 
131
+
132
+
91
133
  }
92
134
 
93
135
  fclose($kakikomi);
94
136
 
137
+
138
+
95
139
  }
96
140
 
97
141
 
@@ -106,20 +150,36 @@
106
150
 
107
151
  if(empty($edit)==false){//$editが空っぽじゃなかったら
108
152
 
153
+
154
+
109
155
  $ret_array=file($filename);//ファイル読み込み
110
156
 
157
+
158
+
111
159
  for($i=0; $i<count($ret_array);$i++){//ループ処理
112
160
 
161
+
162
+
113
163
  $ex=explode("<>",$ret_array[$i]);
114
164
 
165
+
166
+
115
167
  if($edit==$ex[0]){//投稿番号と編集番号が一致したら
116
168
 
169
+
170
+
117
171
  $editbango=$ex[0];
118
172
 
173
+
174
+
119
175
  $editnamae=$ex[1];
120
176
 
177
+
178
+
121
179
  $editname=$ex[2];
122
180
 
181
+
182
+
123
183
  }
124
184
 
125
185
  }
@@ -136,30 +196,56 @@
136
196
 
137
197
  if(empty($number)==false&&empty($namae)==false&&empty($name)==false){//編集機能番号とコメントと名前が空っぽじゃなかったら
138
198
 
199
+
200
+
139
201
  $editel=file($filename);//ファイル読み込み
140
202
 
203
+
204
+
141
205
  $kakikomi=fopen($filename,'w');//上書き書き込み
142
206
 
207
+
208
+
143
209
  $kakikomi=fopen($filename,'a');//追加書き込み
144
210
 
211
+
212
+
145
213
  for($i=0; $i<count($editel);$i++){//ループ処理
146
214
 
215
+
216
+
147
217
  $plode=explode("<>",$editel);
148
218
 
219
+
220
+
149
221
  if($number==$plode[0]){//編集選択フォームと投稿番号が一致したら
150
222
 
223
+
224
+
151
225
  fwrite($kakikomi,$number."<>".$namae."<>".$name."<>".$date);//差し替え
152
226
 
227
+
228
+
153
229
  }//if($number==$ex[0])閉じ
154
230
 
231
+
232
+
155
233
  else{//一致しなかったら
156
234
 
235
+
236
+
157
237
  fwrite($kakikomi, $editel[$i]);//新規投稿
158
238
 
239
+
240
+
159
241
  }//else閉じ
160
242
 
243
+
244
+
161
245
  }//ループ処理閉じ
162
246
 
247
+
248
+
163
249
  fclose($kakikomi);
164
250
 
165
251
  }//if(empty($sakuzyo)==false&&empty($namae)==false&&empty($name)==false)閉じ
@@ -180,20 +266,30 @@
180
266
 
181
267
  <input type="text" name="namae" placeholder="名前" value="<?php echo $editnamae;?>"><br>
182
268
 
269
+
270
+
183
271
  <input type="text" name="name" placeholder="コメント" value="<?php echo $editname;?>"><br>
184
272
 
273
+
274
+
185
275
  <input type="text" name="number" value="<?php echo $editbango;?>">
186
276
 
187
277
  <input type="submit" value="送信"><br>
188
278
 
279
+
280
+
189
281
  <input type="text" name="sakuzyo" placeholder="削除対象番号">
190
282
 
191
283
  <input type="submit" value="削除"><br>
192
284
 
285
+
286
+
193
287
  <input type="text" name="edit" placeholder="編集対象番号">
194
288
 
195
289
  <input type="submit" value="編集">
196
290
 
291
+
292
+
197
293
  </form>
198
294
 
199
295
 
@@ -210,12 +306,20 @@
210
306
 
211
307
  $ret_array=file($filename);//テキストファイルを読み込み
212
308
 
309
+
310
+
213
311
  for($i=0; $i<count($ret_array);$i++){//ループ処理
214
312
 
313
+
314
+
215
315
  $ex=explode("<>",$ret_array[$i]);//投稿番号取得、それを読み込んだファイル
216
316
 
317
+
318
+
217
319
  echo $ex[0].$ex[1].$ex[2].$ex[3]."<br>";//分解して投稿番号を取得、表示
218
320
 
321
+
322
+
219
323
  }
220
324
 
221
325
  ?>

1

書式の改善

2018/12/03 12:56

投稿

kaity
kaity

スコア19

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,7 @@
1
1
  > ```php
2
2
 
3
+
4
+
3
5
  <html>
4
6
 
5
7
  <head>