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

質問編集履歴

1

誤字があったため変更しました。

2020/11/09 13:14

投稿

roma2525
roma2525

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,25 +1,88 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- ここに質問の内容を詳しく書いてください。
4
- (例)PHP(CakePHP)で●●なシステムを作っています。
5
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
6
-
7
- ### 発生している問題・エラーメッセージ
8
-
9
- ```
10
3
  エラーメッセージ
11
- ```
4
+ 簡易掲示板で実行すると、「投稿番号<>名前<>コメント<>投稿時間」と表示したいのですが「<>」が表示されません。
12
5
 
6
+ <html lang="ja">
7
+ <head
8
+ <meta charset="UTF-8">
9
+ <title>keijiban.php</title>
10
+ </head>
11
+ <body>
12
+ <form action="" method="POST">
13
+ <input type="text" name="name" value="" placeholder="名前"><br>
14
+ <input type="text" name="comment" value="" placeholder="コメント" >
15
+ <input type="submit" name="submit_add" value="送信"><br>
16
+ <input type="text" name="deleteNo" value="" placeholder="削除対象番号(半角)">
17
+ <input type="submit" name="submit_del" value="削除"><br>
18
+ <input type="text" name="edit" value="" placeholder="編集対象番号(半角)">
19
+ <input type="submit" name="submit_edit" value="編集">
20
+ </form>
21
+ <?php
22
+ $name=$_POST["name"];
23
+ $comment=$_POST["comment"];
24
+ $delete=$_POST["delete"];
25
+ $edit=$_POST["edit"];
26
+ $date=date("Y/m/d H:i:s");
27
+ $filename="keijiban.txt";
28
+ //投稿番号、名前、コメント、日付
29
+ if(empty($name)==false&&empty($comment)==false){//nameとcommentが空でないなら
30
+ $ret_array=file($filename);
31
+ $d=$ret_array===false ? 1 : count($ret_array)+1;
32
+ $a=$d."<>".$name."<>".$comment."<>".$date;
33
+ $fp=fopen($filename,"a+");
34
+ fwrite($fp,$a.PHP_EOL);
35
+ fclose($fp);
36
+ }
13
- ### 該当のソースコード
37
+ //削除機能
38
+ if(empty($submit_del)==false){//削除番号が空でないなら
39
+ $ret_array=file($filename);
40
+ $fp=fopen($filename,"w");
41
+ for($i=0;$i<count($ret_array);$i++){
42
+ if($i==$submit_del-1){
43
+ continue;
44
+ }
45
+ fwrite($fp,$ret_array[$i]);
46
+ }
47
+ fclose($fp);
48
+ }
49
+ //編集機能
50
+ if(empty($submit_edit)==false){//編集番号が空でないなら
51
+ $ret_array=file($filename);
52
+ for($i=0;$i<count($ret_array);$i++){
53
+ $ex=explode("<>",$ret_array[$i]);
54
+ if($i==$submit_edit-1){
55
+ $editnumber=$ex[0];//配列の1番目(投稿番号)
56
+ $editname=$ex[1];//配列の2番目(名前)
57
+ $editcomment=$ex[2];//配列の3番目(コメント)
58
+ }
59
+ }
60
+ }
61
+ $editcomplete=$editnumber."<>".$editname."<>".$editcomment;
62
+
63
+ if(empty($submit_del)==false&&empty($name)==false&&empty($comment)==false){
64
+ //削除番号、名前、コメントが空でないなら
65
+ $editel=file($filename);
66
+ $fp=fopen($filename,"w");
67
+ for($i=0;$i<count($editel);$i++){
68
+ $plode=explode("<>",$editel);
69
+ if($i==$submit_edit-1){
70
+ $d=$editel === false ? 1 : count($editel)+1;
71
+ $a=$d."<>".$name."<>".$comment."<>".$date;
72
+ fwrite($fp,$editcomplete);
73
+ }
74
+ }
75
+ fclose($fp);
76
+ }
77
+
14
78
 
15
- ```ここに言語名を入力
16
- ソースコード
17
- ```
18
-
19
- ### 試したこと
20
-
21
- ここに問題に対して試したことを記載してください。
79
+ $ret_array=file($filename);
22
-
80
+ if(empty($ret_array)==false){//ret_arrayが空でないなら
81
+ for($i=0; $i<count($ret_array);$i++){
82
+ $ex=explode("<>",$ret_array[$i]);
83
+ echo $ex[0].$ex[1].$ex[2].$ex[3]."<br>";
84
+ }
85
+ }
86
+ ?>
23
- ### 補足情報(FW/ツールのバージョンなど)
87
+ </body>
24
-
25
- ここにより詳細な情報を記載してください。
88
+ </html>