質問編集履歴

10

書式の改善

2019/12/31 12:53

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -56,33 +56,9 @@
56
56
 
57
57
  <!DOCTYPE html>
58
58
 
59
- <html lang="ja">
60
59
 
61
- <head>
62
60
 
63
- <meta charset="UTF-8">
64
-
65
- <title>掲示板</title>
66
-
67
- </head>
68
-
69
- <body>
70
-
71
- <h1>編集画面</h1>
72
-
73
- <?php if (!empty($error_message)) : ?>
74
-
75
- <ul>
76
-
77
- <?php foreach ($error_message as $value) : ?>
78
-
79
- <li>・<?php echo $value; ?></li>
80
-
81
- <?php endforeach; ?>
82
-
83
- </ul>
61
+ //省略
84
-
85
- <?php endif; ?>
86
62
 
87
63
  <form method="post">
88
64
 

9

書式の改善

2019/12/31 12:53

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -35,10 +35,6 @@
35
35
 
36
36
 
37
37
  ### 発生している問題
38
-
39
- ・修正するというボタンを押しても修正がされない。
40
-
41
-
42
38
 
43
39
  追記
44
40
 

8

書式の改善

2019/12/31 12:36

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -96,7 +96,7 @@
96
96
 
97
97
  メッセージ<br>
98
98
 
99
- <textarea name="message" cols="50" row="5" value="<?php if(!empty($message_data['message'])){ echo $message_data['message']; } ?>"></textarea><br>
99
+ <textarea name="message" cols="50" row="5"><?php if(!empty($message_data['message'])){ echo $message_data['message']; } ?></textarea><br>
100
100
 
101
101
  <input type="submit" name="btn_submit" value="修正する">
102
102
 

7

書式の改善

2019/12/31 12:35

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -56,33 +56,7 @@
56
56
 
57
57
  ```php
58
58
 
59
- content_list.php
60
59
 
61
-
62
-
63
- <?php
64
-
65
- session_start();
66
-
67
- try {
68
-
69
- $db = new PDO('mysql:dbname=board; host=localhost; charset=utf8', 'root', 'root');
70
-
71
- } catch (Exception $e) {
72
-
73
- $msg = $e->getMessage();
74
-
75
- exit($msg);
76
-
77
- }
78
-
79
- $sql = 'SELECT m.name, p. * FROM members m, posts p WHERE m.id=p.member_id AND p.delete_flg=0 ORDER BY p.create_date DESC';
80
-
81
- $posts = $db->query($sql);
82
-
83
- $db = null;
84
-
85
- ?>
86
60
 
87
61
  <!DOCTYPE html>
88
62
 
@@ -93,170 +67,6 @@
93
67
  <meta charset="UTF-8">
94
68
 
95
69
  <title>掲示板</title>
96
-
97
- </head>
98
-
99
- <body>
100
-
101
- <h1>掲示板</h1>
102
-
103
- <a href="contents.php">新規投稿画面</a>
104
-
105
- <table border="1">
106
-
107
- <tr>
108
-
109
- <th>投稿者ID</th>
110
-
111
- <th>投稿日時</th>
112
-
113
- <th>タイトル</th>
114
-
115
- <th>本文</th>
116
-
117
- <th>ニックネーム</th>
118
-
119
- </tr>
120
-
121
- <?php foreach ($posts as $post) : ?>
122
-
123
- <tr>
124
-
125
- <td><?php echo $post['member_id']; ?></td>
126
-
127
- <td><?php echo $post['create_date']; ?></td>
128
-
129
- <td><?php echo $post['title']; ?>
130
-
131
- <?php if (isset($_SESSION['id'])) : ?>
132
-
133
- <?php if($_SESSION['id'] == $post['member_id']) :?>
134
-
135
- <a href="delete.php?id=<?php echo $post['id']; ?>">削除</a>|<a href="update2.php?id=<?php echo $post['id']; ?>">修正</a>
136
-
137
- <?php endif; ?>
138
-
139
- <?php endif; ?>
140
-
141
- </td>
142
-
143
- <td><?php echo $post['message']; ?></td>
144
-
145
- <td><?php echo $post['name']; ?></td>
146
-
147
- </tr>
148
-
149
- <?php endforeach; ?>
150
-
151
- </table>
152
-
153
- </body>
154
-
155
- </html>
156
-
157
-
158
-
159
- update2.php
160
-
161
- <?php
162
-
163
- session_start();
164
-
165
- $id = null;
166
-
167
- $error_message = array();
168
-
169
- $message_data = array();
170
-
171
- if (empty($_SESSION['id'])) {
172
-
173
- header('Location: contents_list.php');
174
-
175
- }
176
-
177
- if(!empty($_GET['id']) && empty($_POST['id'])) {
178
-
179
- $id = htmlspecialchars($_GET['id'], ENT_QUOTES);
180
-
181
- try {
182
-
183
- $db = new PDO('mysql:dbname=board; host=localhost; charset=utf8', 'root', 'root');
184
-
185
- } catch (Exception $e) {
186
-
187
- $msg = $e->getMessage();
188
-
189
- exit($msg);
190
-
191
- }
192
-
193
- $sql = "SELECT * FROM posts WHERE id = $id";
194
-
195
- $res = $db->query($sql);
196
-
197
- if($res) {
198
-
199
- $message_data = $res->fetch();
200
-
201
- }
202
-
203
- } elseif (!empty($_POST['id'])) {
204
-
205
- $id = htmlspecialchars($_POST['id'], ENT_QUOTES);
206
-
207
-
208
-
209
- if (empty($_POST['title'])) {
210
-
211
- $error_message[] = 'タイトルを入力してください';
212
-
213
- } else {
214
-
215
- $message_data['title'] = htmlspecialchars($_POST['title'], ENT_QUOTES);
216
-
217
- }
218
-
219
-
220
-
221
- if (empty($_POST['message'])) {
222
-
223
- $error_message[] = 'メッセージを入力してください';
224
-
225
- } else {
226
-
227
- $message_data['message'] = htmlspecialchars($_POST['message'], ENT_QUOTES);
228
-
229
- }
230
-
231
- if (empty($error_message)) {
232
-
233
- $sql = "UPDATE posts SET title='$message_data[title]', message='$message_data[message]' WHERE id=$id";
234
-
235
- $res = $db->query($sql);
236
-
237
- }
238
-
239
- if($res) {
240
-
241
- header("Location: contents_list.php");
242
-
243
- }
244
-
245
- }
246
-
247
- $db = null;
248
-
249
- ?>
250
-
251
- <!DOCTYPE html>
252
-
253
- <html lang="ja">
254
-
255
- <head>
256
-
257
- <meta charset="UTF-8">
258
-
259
- <title>課題17</title>
260
70
 
261
71
  </head>
262
72
 

6

書式の改善

2019/12/31 12:34

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
File without changes

5

書式の改善

2019/12/31 06:17

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  前提
4
4
 
5
- ・PHPで自作の掲示板作成中。
5
+ ・PHPで自作の超簡易掲示板作成中。
6
6
 
7
7
  ・ログイン者のみが自分の投稿を投稿一覧から削除(実装済)・修正を行える。
8
8
 
@@ -162,11 +162,13 @@
162
162
 
163
163
  session_start();
164
164
 
165
+ $id = null;
166
+
165
167
  $error_message = array();
166
168
 
167
169
  $message_data = array();
168
170
 
169
- if (!isset($_SESSION['id'])) {
171
+ if (empty($_SESSION['id'])) {
170
172
 
171
173
  header('Location: contents_list.php');
172
174
 
@@ -174,7 +176,7 @@
174
176
 
175
177
  if(!empty($_GET['id']) && empty($_POST['id'])) {
176
178
 
177
- $id = $_GET['id'];
179
+ $id = htmlspecialchars($_GET['id'], ENT_QUOTES);
178
180
 
179
181
  try {
180
182
 
@@ -194,45 +196,41 @@
194
196
 
195
197
  if($res) {
196
198
 
197
- $message_data = $res->fetchAll();
199
+ $message_data = $res->fetch();
200
+
201
+ }
202
+
203
+ } elseif (!empty($_POST['id'])) {
204
+
205
+ $id = htmlspecialchars($_POST['id'], ENT_QUOTES);
206
+
207
+
208
+
209
+ if (empty($_POST['title'])) {
210
+
211
+ $error_message[] = 'タイトルを入力してください';
198
212
 
199
213
  } else {
200
214
 
201
- header('Location: contents_list.php');
215
+ $message_data['title'] = htmlspecialchars($_POST['title'], ENT_QUOTES);
202
-
216
+
203
- }
217
+ }
204
-
205
- } elseif (!empty($_POST['id'])) {
218
+
206
-
207
- $id = $_POST['id'];
219
+
208
-
209
-
210
-
220
+
211
- if (empty($_POST['title'])) {
221
+ if (empty($_POST['message'])) {
212
-
222
+
213
- $error_data[] = 'タイトルを入力してください';
223
+ $error_message[] = 'メッセージを入力してください';
214
224
 
215
225
  } else {
216
226
 
217
- $message_data['title'] = $_POST['title'];
218
-
219
- }
220
-
221
-
222
-
223
- if (empty($_POST['message'])) {
224
-
225
- $error_data[] = 'メッセージを入力してください';
226
-
227
- } else {
228
-
229
- $message_data['message'] = $_POST['message'];
227
+ $message_data['message'] = htmlspecialchars($_POST['message'], ENT_QUOTES);
230
228
 
231
229
  }
232
230
 
233
231
  if (empty($error_message)) {
234
232
 
235
- $sql = "UPDATE posts SET title = '$message_data[title]', message='$message_data[message]' WHERE id = $id";
233
+ $sql = "UPDATE posts SET title='$message_data[title]', message='$message_data[message]' WHERE id=$id";
236
234
 
237
235
  $res = $db->query($sql);
238
236
 
@@ -258,13 +256,13 @@
258
256
 
259
257
  <meta charset="UTF-8">
260
258
 
261
- <title>掲示板・修正</title>
259
+ <title>課題17</title>
262
260
 
263
261
  </head>
264
262
 
265
263
  <body>
266
264
 
267
- <h1>修正画面</h1>
265
+ <h1>編集画面</h1>
268
266
 
269
267
  <?php if (!empty($error_message)) : ?>
270
268
 
@@ -288,20 +286,20 @@
288
286
 
289
287
  メッセージ<br>
290
288
 
291
- <textarea name="message" cols="50 row="5 value="<?php if(!empty($message_data['message'])){ echo $message_data['title']; } ?>"></textarea><br>
289
+ <textarea name="message" cols="50" row="5" value="<?php if(!empty($message_data['message'])){ echo $message_data['message']; } ?>"></textarea><br>
292
290
 
293
291
  <input type="submit" name="btn_submit" value="修正する">
294
292
 
293
+ </form>
294
+
295
+ <br>
296
+
295
297
  <a href="contents_list.php"><button>戻る</button></a>
296
298
 
297
- </form>
298
-
299
299
  </body>
300
300
 
301
301
  </html>
302
302
 
303
-
304
-
305
303
  ```
306
304
 
307
305
  ### 試したこと

4

書式の改善

2019/12/31 06:16

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -24,14 +24,14 @@
24
24
 
25
25
  現在、自作で簡易的な掲示板を作成しており、投稿の修正機能を実装しています。
26
26
 
27
- しかし、過去のteratailでの質問や他のサイトを元にデバッグなどを試みてみましたが、修正機能が上手く処理されません
27
+ しかし、過去のteratailでの質問や他のサイトを元にデバッグなどを試みてみましたが、修正機能が処理されず、DBも変更されない
28
+
29
+
28
30
 
29
31
  何かご教示頂ければ幸いです。
30
32
 
31
33
 
32
34
 
33
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
34
-
35
35
 
36
36
 
37
37
  ### 発生している問題
@@ -44,7 +44,7 @@
44
44
 
45
45
  ・現在登録されている投稿内容を入力フォーム内にデフォルト表示をしたいが
46
46
 
47
- タイトルのみ表示され、メッセージが表示されない。
47
+ タイトルのみ表示され、メッセージ(投稿内容)が表示されない。
48
48
 
49
49
 
50
50
 
@@ -307,3 +307,9 @@
307
307
  ### 試したこと
308
308
 
309
309
  SQL文内を変更したりしてみましたが上手くいきませんでした。
310
+
311
+ 追記:
312
+
313
+ madone99様よりご指摘があり、$error_messageに代入するものが異なっていた為修正。
314
+
315
+ $message_data = $res->fetch();に変えたところタイトルのみデフォルト表示される。

3

書式の改善

2019/12/31 06:13

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -36,7 +36,17 @@
36
36
 
37
37
  ### 発生している問題
38
38
 
39
- 修正するというボタンを押しても修正がされない。
39
+ 修正するというボタンを押しても修正がされない。
40
+
41
+
42
+
43
+ 追記
44
+
45
+ ・現在登録されている投稿内容を入力フォーム内にデフォルト表示をしたいが
46
+
47
+ タイトルのみ表示され、メッセージが表示されない。
48
+
49
+
40
50
 
41
51
 
42
52
 

2

書式の改善

2019/12/31 06:06

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ・ログイン者のみが自分の投稿を投稿一覧から削除(実装済)・修正を行える。
8
8
 
9
- ・content_list.phpのforeach内の修正URLからupdate2.phpへ遷移。
9
+ ・content_list.php(投稿一覧画面)のforeach内の修正URLからupdate2.php(修正画面)へ遷移。
10
10
 
11
11
 
12
12
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  ・掲示板作成における修正機能の実装。
16
16
 
17
- ・現在登録されている投稿内容を入力フォーム内にデフォルト表示。
17
+ update2.php(修正画面)にて現在登録されている投稿内容を入力フォーム内にデフォルト表示。
18
18
 
19
19
 
20
20
 

1

書式の改善

2019/12/31 03:32

投稿

Velvet00
Velvet00

スコア11

test CHANGED
File without changes
test CHANGED
File without changes