回答編集履歴
3
改訂版記載
test
CHANGED
@@ -257,3 +257,267 @@
|
|
257
257
|
|
258
258
|
|
259
259
|
```
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
# 修正版
|
266
|
+
|
267
|
+
```lang-php
|
268
|
+
|
269
|
+
<html>
|
270
|
+
|
271
|
+
<head>
|
272
|
+
|
273
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
274
|
+
|
275
|
+
<title></title>
|
276
|
+
|
277
|
+
</head>
|
278
|
+
|
279
|
+
<body>
|
280
|
+
|
281
|
+
<?php
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
/***** ファイル書き込み********/
|
286
|
+
|
287
|
+
$dataFile = "keiji_2.txt";
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
if(isset($_POST['make']))
|
292
|
+
|
293
|
+
{
|
294
|
+
|
295
|
+
$str = (sizeof(file($dataFile))+1) . '<>' . $_POST['name'] . '<>' . $_POST['comment'] . '<>' . date('m/d/H:i') . '<>' .$_POST['password'] . "\n";
|
296
|
+
|
297
|
+
$fp = fopen('keiji_2.txt','a');
|
298
|
+
|
299
|
+
fwrite($fp, $str);
|
300
|
+
|
301
|
+
fclose($fp);
|
302
|
+
|
303
|
+
}
|
304
|
+
|
305
|
+
/***** ファイル消去********/
|
306
|
+
|
307
|
+
if (isset($_POST['del']))
|
308
|
+
|
309
|
+
{
|
310
|
+
|
311
|
+
$file_make = file("keiji_2.txt");
|
312
|
+
|
313
|
+
for($k = 0;$k <count($file_make); ++$k){
|
314
|
+
|
315
|
+
$file_make[$k] = preg_replace("/\n/", "", $file_make[$k]);
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
echo "fn: ".$file_make[$k]."<hr>";
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
$delData = preg_split("/<>/", $file_make[$k]);
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
echo "del: ".$delData[4]."<hr>";
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
if(($delData[0] == $_POST['name2']) and ($delData[4] == $_POST['pass']))
|
332
|
+
|
333
|
+
{
|
334
|
+
|
335
|
+
echo 'in<hr>';
|
336
|
+
|
337
|
+
array_splice($file_make, $k, 1);
|
338
|
+
|
339
|
+
file_put_contents($dataFile, implode("", $file_make));
|
340
|
+
|
341
|
+
echo ($_POST['pass']);echo ($delData[4]);
|
342
|
+
|
343
|
+
}
|
344
|
+
|
345
|
+
}
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
}
|
350
|
+
|
351
|
+
/***** ファイル編集 入力フォーム表示********/
|
352
|
+
|
353
|
+
if (isset($_GET['edit']))
|
354
|
+
|
355
|
+
{
|
356
|
+
|
357
|
+
$file_edit = file("keiji_2.txt");
|
358
|
+
|
359
|
+
for($l = 0;$l <count($file_edit); ++$l){
|
360
|
+
|
361
|
+
$editData = explode("<>",$file_edit[$l]);
|
362
|
+
|
363
|
+
if($editData[0] == ($_GET['name3'])) {
|
364
|
+
|
365
|
+
$simEdit = $editData;
|
366
|
+
|
367
|
+
}
|
368
|
+
|
369
|
+
}
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
}
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
/***** ファイル編集 ファイル書き込み********/
|
378
|
+
|
379
|
+
if (isset($_POST['make']) && isset($_POST['hidden1'])) {
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
$file_edit = file("keiji_2.txt");
|
384
|
+
|
385
|
+
for($m = 0;$m <count($file_edit); ++$m){
|
386
|
+
|
387
|
+
$editData2 = explode("<>",$file_edit[$m]);
|
388
|
+
|
389
|
+
if($editData2[0] == ($_POST['hidden1'])){
|
390
|
+
|
391
|
+
$n = $_POST['hidden1'];
|
392
|
+
|
393
|
+
$editData2[1] = $_POST['name'];
|
394
|
+
|
395
|
+
$editData2[2] = $_POST['comment'];
|
396
|
+
|
397
|
+
$file_edit[$m] = implode("<>", $editData2);
|
398
|
+
|
399
|
+
file_put_contents($dataFile,implode("", $file_edit));
|
400
|
+
|
401
|
+
}
|
402
|
+
|
403
|
+
}#echo"hello";echo($_POST['hidden1']);
|
404
|
+
|
405
|
+
}
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
?>
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
<!-- 書き込み用フォーム -->
|
414
|
+
|
415
|
+
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
|
416
|
+
|
417
|
+
name:<br/>
|
418
|
+
|
419
|
+
<input type="text" name="name" size="30" value="" /><br >
|
420
|
+
|
421
|
+
password:<br/>
|
422
|
+
|
423
|
+
<input type="text" name="password" size="30" value=""/><br />
|
424
|
+
|
425
|
+
comment:<br/>
|
426
|
+
|
427
|
+
<input type="text" name="comment" size="30" value=""/><br />
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
<br />
|
432
|
+
|
433
|
+
<input type="submit" name="make">
|
434
|
+
|
435
|
+
</form>
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
<!-- 削除用フォーム -->
|
440
|
+
|
441
|
+
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
|
442
|
+
|
443
|
+
deleate number:<br/>
|
444
|
+
|
445
|
+
<input type="text" name="name2" size="30" value=""/><br />
|
446
|
+
|
447
|
+
password:<br><br/>
|
448
|
+
|
449
|
+
<input type="text" name="pass" size ="30" placeholder="fill in password"/><br/>
|
450
|
+
|
451
|
+
<input type="submit" name="del">
|
452
|
+
|
453
|
+
</form>
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
|
458
|
+
|
459
|
+
<input type="hidden" name="hidden" value="<?php echo($_GET['name3']);?>">
|
460
|
+
|
461
|
+
edit number:<br/><br/>
|
462
|
+
|
463
|
+
<input type="text" name="name3" size="30" value="<?php echo($_GET['name3']);?> "/><br />
|
464
|
+
|
465
|
+
<input type="submit" name="edit">
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
</form>
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
<?php
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
/***** txtの最終出力********/
|
478
|
+
|
479
|
+
$data_File = "keiji_2.txt";
|
480
|
+
|
481
|
+
$ret_array = file($data_File);
|
482
|
+
|
483
|
+
for($i = 0;$i <count($ret_array); ++$i){
|
484
|
+
|
485
|
+
$piece = explode("<>", $ret_array[$i]);
|
486
|
+
|
487
|
+
for($j = 0; $j < 4; ++$j){
|
488
|
+
|
489
|
+
echo ($piece[$j]);
|
490
|
+
|
491
|
+
}
|
492
|
+
|
493
|
+
echo "<br />\n";
|
494
|
+
|
495
|
+
}
|
496
|
+
|
497
|
+
?>
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
</body></html>
|
502
|
+
|
503
|
+
|
504
|
+
|
505
|
+
```
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
解説。
|
510
|
+
|
511
|
+
ファイルに書きだした時に、パスワードを最後にくっつけてるんですね…
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
`ファイル番号<>名前<>コメント<>日時<>パスワード\n`
|
516
|
+
|
517
|
+
一行読み込んだ時に、改行コード「\n」が一緒にくっついてくるのでそれを除去します。
|
518
|
+
|
519
|
+
例えば、`$file_make[$k] = preg_replace("/\n/", "", $file_make[$k]);`みたいに。
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
いや、失礼しました。
|
2
プログラムの誤植修正
test
CHANGED
@@ -82,10 +82,6 @@
|
|
82
82
|
|
83
83
|
$delData = preg_split("/<>/", $file_make[$k]);
|
84
84
|
|
85
|
-
echo 'fm: '.$file_make[$k]."<hr>";
|
86
|
-
|
87
|
-
echo 'deldata: '. $delData[2] .'<hr>';
|
88
|
-
|
89
85
|
if(($delData[0] == $_POST['name2']) and ($delData[1] == $_POST['pass']))
|
90
86
|
|
91
87
|
{
|
1
追記
test
CHANGED
@@ -24,6 +24,10 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
+
エラーやワーニング出てたものは、申し訳ないですが全部消しました。
|
28
|
+
|
29
|
+
|
30
|
+
|
27
31
|
|
28
32
|
|
29
33
|
とりあえず、動かせたもの
|