質問編集履歴

1

回答をうけてコードを変更。

2020/05/08 10:00

投稿

chimo
chimo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -431,3 +431,97 @@
431
431
  FFFTP
432
432
 
433
433
  サクラエディタ
434
+
435
+
436
+
437
+ 【追記】
438
+
439
+ 回答をうけてhidden属性を使用してコードを書き直しましたが、依然動きません。
440
+
441
+ 以下がそのコードです。
442
+
443
+ ★編集のHTML部分
444
+
445
+ ```html
446
+
447
+ <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
448
+
449
+ <div>
450
+
451
+ <input type="hidden" name="hidden" value="<?php if(isset($editNo)){echo $editNo;} ?>">
452
+
453
+ <label for="editNo">編集番号</label>
454
+
455
+ <input id="editNo" type="text" name="editNo" value="">
456
+
457
+ </div>
458
+
459
+ <input type="hidden" name="execute_edit" value="<?php if(isset($editNo)){echo $editNo;} ?>">
460
+
461
+ <input type="submit" name="edit" value="編集する">
462
+
463
+ </form>
464
+
465
+ ```
466
+
467
+ ★編集のPHP部分
468
+
469
+ ```php
470
+
471
+ //----------------指定した番号のメッセージを編集--------------------
472
+
473
+
474
+
475
+ /***** ファイル編集 入力フォーム表示********/
476
+
477
+ if (isset($_POST['edit'])){
478
+
479
+ $file_edit = file(FILENAME);//テキストファイルを読みこむ
480
+
481
+ for($j = 0;$j <count($file_edit); $j++){//ループ処理
482
+
483
+ $editData1 = explode("<>",$file_edit[$j]);//投稿番号を取得
484
+
485
+ if($editData1[0] == ($_POST['editNo'])) {
486
+
487
+ $simEdit = $editData1;
488
+
489
+ }
490
+
491
+ }
492
+
493
+ }
494
+
495
+
496
+
497
+ /***** ファイル編集 ファイル書き込み********/
498
+
499
+ if (isset($_POST['btn_submit']) && isset($_POST['hidden'])) {
500
+
501
+
502
+
503
+ $file_edit = file(FILENAME);
504
+
505
+ for($k = 0;$k <count($file_edit); $k++){
506
+
507
+ $editData2 = explode("<>",$file_edit[$k]);
508
+
509
+ if($editData2[0] == ($_POST['hidden'])){
510
+
511
+ $n = $_POST['hidden'];
512
+
513
+ $editData2[1] = $_POST['name'];
514
+
515
+ $editData2[2] = $_POST['comment'];
516
+
517
+ $file_edit[$m] = implode("<>", $editData2);
518
+
519
+ file_put_contents(FILENAME,implode("", $file_edit));
520
+
521
+ }
522
+
523
+ }
524
+
525
+ }
526
+
527
+ ```