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

質問編集履歴

2

コードの表示

2020/05/03 10:35

投稿

messi_Raisei
messi_Raisei

スコア1

title CHANGED
File without changes
body CHANGED
@@ -8,8 +8,41 @@
8
8
 
9
9
 
10
10
  ###自分が書いているコードです
11
+ ```ここに言語を入力
12
+ <?php
13
+ define('FILENAME','./message.txt');
14
+
15
+ $now_date = null;
16
+ $data = null;
17
+ $file_handle = null;
18
+ $split_data = null;
19
+ $message = array();
20
+ $message_array = array();
21
+ $success_message = null;
22
+ $error_message = array();
23
+ $clean = array();
24
+
25
+
11
- if($file_handle = fopen(FILENAME,"a")){
26
+ if(!empty($_POST['btn_submit'])){
27
+
28
+ if(empty($_POST['view_name'])){
29
+ $error_message[] ='名前を入力してください。';
30
+ }else{
31
+ $clean['view_name'] = htmlspecialchars( $_POST['view_name'],ENT_QUOTES);
32
+ $clean['view_name'] = preg_replace('/\r\n|\n|\r/','<br>',$clean['view_name']);
33
+ }
12
34
 
35
+ if(empty($_POST['message'])){
36
+ $error_message[] ='内容が入力されていません。';
37
+ }else{
38
+ $clean['message'] = htmlspecialchars( $_POST['message'],ENT_QUOTES);
39
+ $clean['message'] = preg_replace('/\r\n|\n|\r/','<br>',$clean['massage']);
40
+ }
41
+
42
+ if(empty($error_messege)){
43
+
44
+ if($file_handle = fopen(FILENAME,"a")){
45
+
13
46
  $now_date = new DateTime();
14
47
 
15
48
  $data = "'".$clean['view_name']."','".$_clean['message']."','".$_now_date."'\n";
@@ -17,8 +50,14 @@
17
50
  fwrite($file_handle,$data);
18
51
 
19
52
  fclose($file_handle);
53
+
20
-
54
+ $success_message = '投稿完了';
55
+ }
56
+ }
57
+ }
58
+
59
+
21
- if($file_handle = fopen(FILENAME,'r')){
60
+ if($file_handle = fopen(FILENAME,'r')){
22
61
  while($data = fgets($file_handle)){
23
62
 
24
63
  $split_data = preg_split('/\'/',$data);
@@ -33,20 +72,63 @@
33
72
 
34
73
  fclose($file_handle);
35
74
  }
75
+ ?>
36
76
 
77
+ <!DOCTYPE html>
78
+ <html>
79
+ <head>
80
+ <meta charset="utf-8">
81
+ <title>掲示板</title>
82
+ </head>
83
+ <body>
84
+ <h1>掲示板</h1>
85
+ <?php if(!empty($success_message)):?>
86
+ <p><?php echo $success_message;?></p>
87
+ <?php endif;?>
37
88
 
38
-
89
+ <?php if(!empty($error_message)):?>
39
-
90
+ <?php foreach($error_message as $value):?>
40
- 表示させるコード↓
91
+ <ul>
41
-
92
+ <li><?php echo $value; ?></li>
93
+ <?php endforeach; ?>
94
+ </ul>
95
+ <?php endif;?>
96
+
97
+ <br>
98
+ <p></p>
99
+ <form method="post">
100
+
101
+ <div>
102
+ <label="view_name">お名前:</label>
103
+ <input id="view_name" type="text" name="view_name"/>
104
+ </div>
105
+ <div>
106
+ <label="message">内容:</label>
107
+ <textarea id="message" name="message"></textarea>
108
+ </div>
109
+ <input type="submit" name="btn_submit" value="送信する"/>
110
+
111
+ </form>
112
+
113
+ <hr>
114
+ <section>
115
+
42
- <?php if(!empty($message_array)):?>
116
+ <?php if(!empty($message_array)):?>
43
117
  <?php foreach($message_array as $value):?>
44
118
  <article>>
45
119
  <div class="info">
46
120
  <h2><?php echo $value['view_name'];?></h2>
47
121
  <p><?php echo $value['message'];?></p>
48
122
  <time><?php echo date("Y年m月d日 H:i", strtotime($value['post_date'])); ?></time>
123
+ </div>
124
+ </article>
125
+ <?php endforeach; ?>
126
+ <?php endif; ?>
127
+ </section>
128
+ </body>
129
+ </html>
49
130
 
131
+ ```
50
132
 
51
133
  ### 試したこと
52
134
 
@@ -55,4 +137,9 @@
55
137
  ### 補足情報(FW/ツールのバージョンなど)
56
138
 
57
139
  贅沢なのですが、コードつきの説明がありましたらありがたいです。
58
- よろしくお願いいたします。
140
+ よろしくお願いいたします。
141
+
142
+
143
+ 追記です。
144
+ 返信や意見本当にありがとうございます。
145
+ 見やすいようにある程度コードを省いて書いていたのですが伝わりずらいとおもいましたので編集でコードをすべて表示させるようにしました。(m.ts10806さんcode機能の紹介ありがとうございました。)

1

2020/05/03 10:35

投稿

messi_Raisei
messi_Raisei

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- についてお伺いさせていただきます。
1
+ 掲示板の投稿時間についてお伺いさせていただきます。
body CHANGED
File without changes