teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

code機能の利用とコードの修正をしました

2018/11/04 02:02

投稿

mk77
mk77

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,118 +1,116 @@
1
- <!DOCTYPE html>
1
+ ```<!DOCTYPE html>
2
2
  <html lang="ja" dir="ltr">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <title></title>
6
6
  </head>
7
7
  <body>
8
- <form class="" action="test.php" method="post">
9
- <input type="text" name="name" placeholder="名前" value="<?php if(!empty($overwrite)) echo $text[1];?>"><br>
10
- <input type="text" name="comment" placeholder="コメント" value="<?php if(!empty($overwrite)) echo $text[2];?>"><br>
11
- <input type="text" name="overwrite" value="<?php if(!empty($overwrite)) echo $edit;?>"><br>
12
- <?php
8
+ <?php
13
- //ファイルの作成
9
+ //ファイルの作成
14
- $filename = "test.txt";
10
+ $filename = "test.txt";
15
11
 
16
- //ファイルの編集処理
12
+ //ファイルの編集処理
17
- //edit変数の作成
13
+ //edit変数の作成
18
- $edit = $_POST["edit"];
14
+ $edit = $_POST["edit"];
15
+ $overwrite = $_POST["overwrite"];
19
16
 
20
- //$editに数値が入力された時
17
+ //$editに数値が入力された時
21
- if(!empty($edit)){
18
+ if(!empty($edit)){
22
- //ファイルの作成
19
+ //ファイルの作成
23
- $fp = fopen($filename,"a");
20
+ $fp = fopen($filename,"a");
24
- //配列に格納
21
+ //配列に格納
25
- $lines = file($filename);
22
+ $lines = file($filename);
26
23
 
27
- //配列の行数分ループ
24
+ //配列の行数分ループ
28
- foreach ($lines as $normaltext) {
25
+ foreach ($lines as $normaltext) {
29
- $text = explode("<>","$normaltext");
26
+ $text = explode("<>","$normaltext");
30
- $number = $text[0];
27
+ $number = $text[0];
31
28
 
32
- //編集番号と投稿番号を比較し、一致した時上書き
29
+ //編集番号と投稿番号を比較し、一致した時上書き
33
- if ($number == $edit) {
30
+ if ($number == $edit) {
34
- $name = $text[1];
31
+ $name = $text[1];
35
- $comment = $text[2];
32
+ $comment = $text[2];
36
- $overwrite = $edit;
33
+ $overwrite = $edit;
37
- }
38
34
  }
39
-
40
35
  }
41
36
 
42
- ?>
37
+ }
43
- <input type="submit" value="送信">
44
38
 
45
- <input type="text" name="delete" placeholder="削除対象番号"><br>
46
- <input type="submit" value="送信"><br>
47
39
 
48
- <input type="text" name="edit" placeholder="編集対象番号"><br>
49
- <input type="submit" value="編集">
50
- </form>
51
- <?php
52
- //変数の作成
40
+ //変数の作成
53
- $name = $_POST["name"];
41
+ $name = $_POST["name"];
54
- $comment = $_POST["comment"];
42
+ $comment = $_POST["comment"];
55
- $date = date("Y年m月d日h時i分s秒");
43
+ $date = date("Y年m月d日h時i分s秒");
56
- $overwrite = $_POST[overwrite];
57
44
 
58
- //フォームに入力された際の動作
45
+ //フォームに入力された際の動作
59
- if (!empty($comment)) {
46
+ if (!empty($comment)) {
60
- if (empty($overwrite)) {
47
+ if (empty($overwrite)) {
61
- //ファイルを開く
48
+ //ファイルを開く
62
- $fp = fopen($filename,"a");
49
+ $fp = fopen($filename,"a");
63
50
 
64
- //ファイルを配列に格納
51
+ //ファイルを配列に格納
65
- $lines = file($filename);
52
+ $lines = file($filename);
66
53
 
67
- //配列の要素絵をcount
54
+ //配列の要素絵をcount
68
- $number = count($lines)+1;
55
+ $number = count($lines)+1;
69
56
 
70
- //全てをまとめた書き込み用変数(通常)
57
+ //全てをまとめた書き込み用変数(通常)
71
- $normaltext = "$number"."<>"."$name"."<>"."$comment"."<>"."$data";
58
+ $normaltext = "$number"."<>"."$name"."<>"."$comment"."<>"."$data";
72
59
 
73
- //書き込み用変数を書き込む
60
+ //書き込み用変数を書き込む
74
- fwrite($fp,$normaltext,"\n");
61
+ fwrite($fp,$normaltext,"\n");
75
- fclose($fp);
62
+ fclose($fp);
76
- }else{
63
+ }else{
77
- $newtext = "$overwrite"."<>"."$name"."<>"."$comment"."<>"."$date";
64
+ $newtext = "$overwrite"."<>"."$name"."<>"."$comment"."<>"."$date";
78
65
 
79
- $fp = fopen($filename,"a");
66
+ $fp = fopen($filename,"a");
80
- //配列に格納
67
+ //配列に格納
81
- $line = file($filename);
68
+ $line = file($filename);
82
69
 
83
- //ファイルの中身を空に
70
+ //ファイルの中身を空に
84
- ftruncate($fp,0);
71
+ ftruncate($fp,0);
85
72
 
86
- //
73
+ //
87
- foreach ($line as $normaltext) {
74
+ foreach ($line as $normaltext) {
88
- $text = explode("<>".$normaltext);
75
+ $text = explode("<>".$normaltext);
89
- $number = $text[0];
76
+ $number = $text[0];
90
- if ($number == $overwrite) {
77
+ if ($number == $overwrite) {
91
- $normaltext = $newtext;
78
+ $normaltext = $newtext;
92
- fwrite($fp,$newtext);
79
+ fwrite($fp,$newtext);
93
- }
94
- fclose($fp);
95
80
  }
81
+ fclose($fp);
96
82
  }
97
83
  }
84
+ }
98
85
 
99
- //削除処理
86
+ //削除処理
100
- //削除フォームの受け取り
87
+ //削除フォームの受け取り
101
- $delete = $_POST["delete"];
88
+ $delete = $_POST["delete"];
102
- if (!empty($delete)) {
89
+ if (!empty($delete)) {
103
- $d_lines = file($filename);
90
+ $d_lines = file($filename);
104
- for ($j = 0; $j < count($d_lines) ; $j++) {
91
+ for ($j = 0; $j < count($d_lines) ; $j++) {
105
92
  $d_Data = explode("<>", $d_lines[$j]);
106
- if ($d_Data[0] == $delete) {
93
+ if ($d_Data[0] == $delete) {
107
- array_splice($d_lines, $j,1);
94
+ array_splice($d_lines, $j,1);
108
- file_put_contents($filename, $d_lines);
95
+ file_put_contents($filename, $d_lines);
109
- }
110
96
  }
111
97
  }
98
+ }
112
99
  ?>
100
+ <form class="" action="test.php" method="post">
101
+ <input type="text" name="name" placeholder="名前" value="<?php if(!empty($overwrite)) echo $text[1];?>"><br>
102
+ <input type="text" name="comment" placeholder="コメント" value="<?php if(!empty($overwrite)) echo $text[2];?>"><br>
103
+ <input type="text" name="overwrite" value="<?php if(!empty($overwrite)) echo $edit;?>"><br>
104
+ <input type="submit" value="送信">
105
+
106
+ <input type="text" name="delete" placeholder="削除対象番号"><br>
107
+ <input type="submit" value="送信"><br>
108
+
109
+ <input type="text" name="edit" placeholder="編集対象番号"><br>
110
+ <input type="submit" value="編集">
113
- ?>
111
+ </form>
114
112
  </body>
115
113
  </html>
114
+ ```
116
115
 
117
-
118
116
  編集機能つきweb掲示板を作成したいのですが$editに数値を入力しても数値がフォームに返らずに困っています何かご指摘よろしくお願いします。

1

投稿上のミス

2018/11/04 02:01

投稿

mk77
mk77

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,4 @@
1
- |列1|列2|列3|
2
- |:--|:--:|--:|
3
- ||||<!DOCTYPE html>
1
+ <!DOCTYPE html>
4
2
  <html lang="ja" dir="ltr">
5
3
  <head>
6
4
  <meta charset="utf-8">