質問編集履歴

5

ソースコードを追記しました。

2018/10/15 12:55

投稿

torinoto7
torinoto7

スコア19

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  一つ目の掲示板はエラーもなく動作しているのですが、
4
4
 
5
- 二つ目の掲示板動作はしているのですが、下記のエラーがあります。
5
+ 二つ目の掲示板を作成したら動作はしているのですが、下記のエラーがあります。
6
6
 
7
7
  一つ目の掲示板はうまく動作しているのに二つ目は何故エラーになるのか分からないです。
8
8
 
@@ -16,6 +16,12 @@
16
16
 
17
17
 
18
18
 
19
+ ![イメージ説明](6b8a56e82b77a2c147f3f3df2beee5dc.png)
20
+
21
+
22
+
23
+
24
+
19
25
 
20
26
 
21
27
  【コード追記・修正箇所】
@@ -156,6 +162,10 @@
156
162
 
157
163
  ```PHP
158
164
 
165
+
166
+
167
+ <!-- ここから掲示板1 -->
168
+
159
169
  <?php
160
170
 
161
171
  // 1ページに表示されるコメントの数
@@ -196,6 +206,190 @@
196
206
 
197
207
  $stmt = $db->prepare(
198
208
 
209
+ "SELECT * FROM bbs ORDER BY date DESC LIMIT
210
+
211
+ :page, :num"
212
+
213
+ );
214
+
215
+ //パラメータを割り当て
216
+
217
+ $page = $page * $num;
218
+
219
+ $stmt->bindParam(':page', $page, PDO::PARAM_INT);
220
+
221
+ $stmt->bindParam(':num', $num, PDO::PARAM_INT);
222
+
223
+ //クエリの実行
224
+
225
+ $stmt->execute();
226
+
227
+ } catch(PDOException $e){
228
+
229
+ echo "エラー:" . $e->getMessage(). "\n" . $e->getTraceAsString();
230
+
231
+ }
232
+
233
+
234
+
235
+ ?>
236
+
237
+ <div id="nav-drawer"><!-- ハンバーガー -->
238
+
239
+ <input id="nav-input" type="checkbox" class="nav-unshown">
240
+
241
+ <label id="nav-open" for="nav-input">
242
+
243
+ <img src="img/a.jpg" class="fot">
244
+
245
+ </label><span></span>
246
+
247
+ <label class="nav-unshown" id="nav-close" for="nav-input"></label>
248
+
249
+ <div id="nav-content">
250
+
251
+ <div align="center">
252
+
253
+ <img src="img/a.jpg" width="550" height="400">
254
+
255
+ <br>コメント入力
256
+
257
+
258
+
259
+ <?php
260
+
261
+ while ($row = $stmt->fetch()):
262
+
263
+ $title = $row['title'] ? $row['title'] : '(無題)';
264
+
265
+ ?>
266
+
267
+ <p>名前:<?php echo $row['name'] ?></p>
268
+
269
+ <p>タイトル:<?php echo $title ?></p>
270
+
271
+ <p><?php echo nl2br($row['body'], false) ?></p>
272
+
273
+ <p><?php echo $row['date'] ?></p>
274
+
275
+ <?php
276
+
277
+ endwhile;
278
+
279
+
280
+
281
+ //ページ数の表示
282
+
283
+ try {
284
+
285
+ //プリペアドステートメント作成
286
+
287
+ $stmt = $db->prepare("SELECT COUNT(*) FROM bbs");
288
+
289
+ //クエリ
290
+
291
+ $stmt->execute();
292
+
293
+ } catch (PDOException $e){
294
+
295
+ echo "エラー:" . $e->getMessage(). "\n" . $e->getTraceAsString();
296
+
297
+ }
298
+
299
+
300
+
301
+ //コメントの件数を取得
302
+
303
+ $comments = $stmt->fetchColumn();
304
+
305
+ //ページ数を計算
306
+
307
+ $max_page = ceil($comments / $num);
308
+
309
+ echo '<p>';
310
+
311
+ for ($i = 1; $i <= $max_page; $i++){
312
+
313
+ echo '<a href="fot.php?page=' . $i . '">' . $i .
314
+
315
+ '</a>&nbsp;';
316
+
317
+ }
318
+
319
+ echo '</p>';
320
+
321
+ ?>
322
+
323
+ </span>
324
+
325
+
326
+
327
+ <span class="form">
328
+
329
+ <form action="write.php" method="post">
330
+
331
+ <p>名前:<input type="text" name="name"></p>
332
+
333
+ <p>タイトル:<input type="text" name="title"></p>
334
+
335
+ <textarea name="body"></textarea>
336
+
337
+ <p><input type="submit" value="書き込む">&nbsp;&nbsp;<input type="reset" value="リセット"></p>
338
+
339
+ </form>
340
+
341
+ </span><!-- form -->
342
+
343
+ </div><!-- nav-content終了 -->
344
+
345
+ </div><!-- ハンバーガー -->
346
+
347
+
348
+
349
+ <!-- ここから掲示板2 -->
350
+
351
+
352
+
353
+ <?php
354
+
355
+ // 1ページに表示されるコメントの数
356
+
357
+ $num = 3;
358
+
359
+
360
+
361
+ //データベースに接続
362
+
363
+ $dsn = 'mysql:host=localhost;dbname=db11;charset=utf8';
364
+
365
+ $user = 'db11user';
366
+
367
+ $password = '1111'; //DBパスワード
368
+
369
+
370
+
371
+ //ページ数が指定されているとき
372
+
373
+ $page = 0;
374
+
375
+ if (isset($_GET['page']) && $_GET['page'] > 0) {
376
+
377
+ $page = intval($_GET['page']) -1;
378
+
379
+ }
380
+
381
+
382
+
383
+ try {
384
+
385
+ $db = new PDO($dsn, $user, $password);
386
+
387
+ $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
388
+
389
+ //プリペアドステートメントを作成
390
+
391
+ $stmt = $db->prepare(
392
+
199
393
  "SELECT * FROM bbs1 ORDER BY date DESC LIMIT
200
394
 
201
395
  :page, :num"
@@ -218,29 +412,33 @@
218
412
 
219
413
  } catch(PDOException $e) {
220
414
 
221
- die ('エラー:' . $e->getMessage() . "\n" . $e->getTraceAsString());
415
+ echo "エラー:" . $e->getMessage(). "\n" . $e->getTraceAsString();
222
416
 
223
417
  }
224
418
 
225
- ?>
419
+ ?>
226
-
420
+
421
+
422
+
227
- <div id="nav-drawer1"><!-- ハンバーガー -->
423
+ <div id="nav-drawer1"><!-- ハンバーガー -->
228
-
424
+
229
- <input id="nav-input1" type="checkbox" class="nav-unshown1">
425
+ <input id="nav-input1" type="checkbox" class="nav-unshown1">
230
426
 
231
427
  <label id="nav-open1" for="nav-input1">
232
428
 
233
- <img src="test.png" width="150" height="150">
429
+ <img src="img/a.jpg" class="fot">
234
-
430
+
235
- </label><span></span>
431
+ </label><span></span>
236
432
 
237
433
  <label class="nav-unshown1" id="nav-close1" for="nav-input1"></label>
238
434
 
239
435
  <div id="nav-content1">
240
436
 
241
- <img src="test.png" width="550" height="400">
437
+ <img src="img/a.jpg" width="550" height="400">
438
+
242
-
439
+ <br>コメント入力
243
-
440
+
441
+
244
442
 
245
443
  <?php
246
444
 
@@ -278,7 +476,7 @@
278
476
 
279
477
  } catch (PDOException $e){
280
478
 
281
- echo "エラー:" . $e->getMessage();
479
+ echo "エラー:" . $e->getMessage(). "\n" . $e->getTraceAsString();
282
480
 
283
481
  }
284
482
 
@@ -306,9 +504,15 @@
306
504
 
307
505
  ?>
308
506
 
309
- </span>
507
+ </span>
310
-
508
+
509
+
510
+
511
+
512
+
311
- <p class="name1">この料理へのコメントはこちらから!!</p>
513
+ <p class="name1">この料理へのコメントはこちらから!!</p>
514
+
515
+
312
516
 
313
517
  <span class="form">
314
518
 
@@ -326,6 +530,12 @@
326
530
 
327
531
  </span><!-- form -->
328
532
 
533
+ </div><!-- nav-content終了 -->
534
+
535
+ </div><!-- ハンバーガー -->
536
+
537
+
538
+
329
539
 
330
540
 
331
541
  ```

4

コード修正しました。

2018/10/15 12:55

投稿

torinoto7
torinoto7

スコア19

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  二つ目の掲示板は動作はしているのですが、下記のエラーがあります。
6
6
 
7
+ 一つ目の掲示板はうまく動作しているのに二つ目は何故エラーになるのか分からないです。
8
+
7
9
  コードにまだ慣れていなくどこに記載をしたら良いのか分からないです。
8
10
 
9
11
  宜しくお願いします。
@@ -14,7 +16,31 @@
14
16
 
15
17
 
16
18
 
19
+
20
+
21
+ 【コード追記・修正箇所】
22
+
23
+ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
24
+
25
+ } catch (PDOException $e) {
26
+
27
+ die ('エラー:' . $e->getMessage() . "\n" . $e->getTraceAsString());
28
+
29
+ }
30
+
31
+
32
+
33
+ $stmt = $db->prepare("
34
+
35
+ INSERT INTO bbs1 (name, title, body, date )
36
+
37
+ VALUES (?, ?, ?, now() )"
38
+
39
+ );
40
+
41
+
42
+
17
- write1.php
43
+ (write1.php)
18
44
 
19
45
  ```PHP
20
46
 
@@ -68,13 +94,21 @@
68
94
 
69
95
  $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
70
96
 
97
+ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
98
+
71
- //プリペアドステートメント作成
99
+ } catch (PDOException $e) {
100
+
101
+ die ('エラー:' . $e->getMessage() . "\n" . $e->getTraceAsString());
102
+
103
+ }
104
+
105
+
72
106
 
73
107
  $stmt = $db->prepare("
74
108
 
75
109
  INSERT INTO bbs1 (name, title, body, date )
76
110
 
77
- VALUES (:name, :title, :body, now() )"
111
+ VALUES (?, ?, ?, now() )"
78
112
 
79
113
  );
80
114
 
@@ -82,21 +116,11 @@
82
116
 
83
117
  //パラメータを割り当て
84
118
 
85
- $stmt->bindParam(':name', $name, PDO::PARAM_STR);
119
+ $stmt->bindParam(1, $name, PDO::PARAM_STR);
86
-
120
+
87
- $stmt->bindParam(':title', $title, PDO::PARAM_STR);
121
+ $stmt->bindParam(2, $title, PDO::PARAM_STR);
88
-
122
+
89
- $stmt->bindParam(':body', $body, PDO::PARAM_STR);
123
+ $stmt->bindParam(3, $body, PDO::PARAM_STR);
90
-
91
-
92
-
93
- $stmt = $db->prepare("
94
-
95
- INSERT INTO bbs1 (name, title, body, date )
96
-
97
- VALUES (name, title, body, now() )"
98
-
99
-
100
124
 
101
125
 
102
126
 
@@ -112,18 +136,196 @@
112
136
 
113
137
  exit();
114
138
 
139
+
140
+
141
+ ?>
142
+
143
+ ```
144
+
145
+
146
+
147
+ DB一覧。
148
+
149
+ ![イメージ説明](af1319d75d4008b1643054e092a19091.png)
150
+
151
+
152
+
153
+
154
+
155
+ (fot.html)
156
+
157
+ ```PHP
158
+
159
+ <?php
160
+
161
+ // 1ページに表示されるコメントの数
162
+
163
+ $num = 3;
164
+
165
+
166
+
167
+ //データベースに接続
168
+
169
+ $dsn = 'mysql:host=localhost;dbname=db11;charset=utf8';
170
+
171
+ $user = 'db11user';
172
+
173
+ $password = '1111'; //DBパスワード
174
+
175
+
176
+
177
+ //ページ数が指定されているとき
178
+
179
+ $page = 0;
180
+
181
+ if (isset($_GET['page']) && $_GET['page'] > 0) {
182
+
183
+ $page = intval($_GET['page']) -1;
184
+
185
+ }
186
+
187
+
188
+
189
+ try {
190
+
191
+ $db = new PDO($dsn, $user, $password);
192
+
193
+ $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
194
+
195
+ //プリペアドステートメントを作成
196
+
197
+ $stmt = $db->prepare(
198
+
199
+ "SELECT * FROM bbs1 ORDER BY date DESC LIMIT
200
+
201
+ :page, :num"
202
+
203
+ );
204
+
205
+ //パラメータを割り当て
206
+
207
+ $page = $page * $num;
208
+
209
+ print_r($db->errorInfo());
210
+
211
+ $stmt->bindParam(':page', $page, PDO::PARAM_INT);
212
+
213
+ $stmt->bindParam(':num', $num, PDO::PARAM_INT);
214
+
215
+ //クエリの実行
216
+
217
+ $stmt->execute();
218
+
115
219
  } catch(PDOException $e) {
116
220
 
117
- die ('エラー:' . $e->getMessage());
221
+ die ('エラー:' . $e->getMessage() . "\n" . $e->getTraceAsString());
118
222
 
119
223
  }
120
224
 
225
+ ?>
226
+
227
+ <div id="nav-drawer1"><!-- ハンバーガー -->
228
+
229
+ <input id="nav-input1" type="checkbox" class="nav-unshown1">
230
+
231
+ <label id="nav-open1" for="nav-input1">
232
+
233
+ <img src="test.png" width="150" height="150">
234
+
235
+ </label><span></span>
236
+
237
+ <label class="nav-unshown1" id="nav-close1" for="nav-input1"></label>
238
+
239
+ <div id="nav-content1">
240
+
241
+ <img src="test.png" width="550" height="400">
242
+
243
+
244
+
245
+ <?php
246
+
247
+ while ($row = $stmt->fetch()):
248
+
249
+ $title = $row['title'] ? $row['title'] : '(無題)';
250
+
121
251
  ?>
122
252
 
253
+ <p>名前:<?php echo $row['name'] ?></p>
254
+
255
+ <p>タイトル:<?php echo $title ?></p>
256
+
257
+ <p><?php echo nl2br($row['body'], false) ?></p>
258
+
259
+ <p><?php echo $row['date'] ?></p>
260
+
261
+ <?php
262
+
263
+ endwhile;
264
+
265
+
266
+
267
+ //ページ数の表示
268
+
269
+ try {
270
+
271
+ //プリペアドステートメント作成
272
+
273
+ $stmt = $db->prepare("SELECT COUNT(*) FROM bbs1");
274
+
275
+ //クエリ
276
+
277
+ $stmt->execute();
278
+
279
+ } catch (PDOException $e){
280
+
281
+ echo "エラー:" . $e->getMessage();
282
+
283
+ }
284
+
285
+
286
+
287
+ //コメントの件数を取得
288
+
289
+ $comments = $stmt->fetchColumn();
290
+
291
+ //ページ数を計算
292
+
293
+ $max_page = ceil($comments / $num);
294
+
295
+ echo '<p>';
296
+
297
+ for ($i = 1; $i <= $max_page; $i++){
298
+
299
+ echo '<a href="fot.php?page=' . $i . '">' . $i .
300
+
301
+ '</a>&nbsp;';
302
+
303
+ }
304
+
305
+ echo '</p>';
306
+
307
+ ?>
308
+
309
+ </span>
310
+
311
+ <p class="name1">この料理へのコメントはこちらから!!</p>
312
+
313
+ <span class="form">
314
+
315
+ <form action="write1.php" method="post">
316
+
317
+ <p>名前:<input type="text" name="name"></p>
318
+
319
+ <p>タイトル:<input type="text" name="title"></p>
320
+
321
+ <textarea name="body"></textarea>
322
+
323
+ <p><input type="submit" value="書き込む">&nbsp;&nbsp;<input type="reset" value="リセット"></p>
324
+
325
+ </form>
326
+
327
+ </span><!-- form -->
328
+
329
+
330
+
123
331
  ```
124
-
125
-
126
-
127
- DB一覧。
128
-
129
- ![イメージ説明](af1319d75d4008b1643054e092a19091.png)

3

情報修正しました。

2018/10/14 21:24

投稿

torinoto7
torinoto7

スコア19

test CHANGED
File without changes
test CHANGED
@@ -32,21 +32,19 @@
32
32
 
33
33
 
34
34
 
35
-
36
-
37
35
  // データの受け取り
38
36
 
39
- $name1 = $_POST['name1'];
37
+ $name = $_POST['name'];
40
38
 
41
- $title1 = $_POST['title1'];
39
+ $title = $_POST['title'];
42
40
 
43
- $body1 = $_POST['body1'];
41
+ $body = $_POST['body'];
44
42
 
45
43
 
46
44
 
47
45
  //必須項目チェック(名前か本文が空ではないか?)
48
46
 
49
- if ($name1 == '' || $body1 == ''){
47
+ if ($name == '' || $body == ''){
50
48
 
51
49
  header('Location: fot.php'); // fot.phpへ移動
52
50
 
@@ -74,9 +72,9 @@
74
72
 
75
73
  $stmt = $db->prepare("
76
74
 
77
- INSERT INTO bbs1 (name1, title1, body1, date1 )
75
+ INSERT INTO bbs1 (name, title, body, date )
78
76
 
79
- VALUES (:name1, :title1, :body1, now() )"
77
+ VALUES (:name, :title, :body, now() )"
80
78
 
81
79
  );
82
80
 
@@ -84,11 +82,21 @@
84
82
 
85
83
  //パラメータを割り当て
86
84
 
87
- $stmt->bindParam(':name1', $name1, PDO::PARAM_STR);
85
+ $stmt->bindParam(':name', $name, PDO::PARAM_STR);
88
86
 
89
- $stmt->bindParam(':title1', $title1, PDO::PARAM_STR);
87
+ $stmt->bindParam(':title', $title, PDO::PARAM_STR);
90
88
 
91
- $stmt->bindParam(':body1', $body1, PDO::PARAM_STR);
89
+ $stmt->bindParam(':body', $body, PDO::PARAM_STR);
90
+
91
+
92
+
93
+ $stmt = $db->prepare("
94
+
95
+ INSERT INTO bbs1 (name, title, body, date )
96
+
97
+ VALUES (name, title, body, now() )"
98
+
99
+
92
100
 
93
101
 
94
102
 
@@ -116,196 +124,6 @@
116
124
 
117
125
 
118
126
 
119
-
120
-
121
-
122
-
123
- fot.php
124
-
125
- ```PHP
126
-
127
- <?php
128
-
129
- // 1ページに表示されるコメントの数
130
-
131
- $num = 3;
132
-
133
-
134
-
135
- //データベースに接続
136
-
137
- $dsn = 'mysql:host=localhost;dbname=db11;charset=utf8';
138
-
139
- $user = 'db11user';
140
-
141
- $password = '1111'; //DBパスワード
142
-
143
-
144
-
145
- //ページ数が指定されているとき
146
-
147
- $page = 0;
148
-
149
- if (isset($_GET['page']) && $_GET['page'] > 0) {
150
-
151
- $page = intval($_GET['page']) -1;
152
-
153
- }
154
-
155
-
156
-
157
- try {
158
-
159
- $db = new PDO($dsn, $user, $password);
160
-
161
- $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
162
-
163
- //プリペアドステートメントを作成
164
-
165
- $stmt = $db->prepare(
166
-
167
- "SELECT * FROM bbs1 ORDER BY date1 DESC LIMIT
168
-
169
- :page, :num"
170
-
171
- );
172
-
173
- //パラメータを割り当て
174
-
175
- $page = $page * $num;
176
-
177
- print_r($db->errorInfo());
178
-
179
- $stmt->bindParam(':page', $page, PDO::PARAM_INT);
180
-
181
- $stmt->bindParam(':num', $num, PDO::PARAM_INT);
182
-
183
- //クエリの実行
184
-
185
- $stmt->execute();
186
-
187
- } catch(PDOException $e){
188
-
189
- echo "エラー:" . $e->getMessage();
190
-
191
- }
192
-
193
-
194
-
195
- ?>
196
-
197
- <div id="nav-drawer1"><!-- ハンバーガー -->
198
-
199
- <input id="nav-input1" type="checkbox" class="nav-unshown1">
200
-
201
- <label id="nav-open1" for="nav-input1">
202
-
203
- <img src="test.png" alt="test" width="150" height="150">
204
-
205
- </label><span></span>
206
-
207
- <label class="nav-unshown1" id="nav-close1" for="nav-input1"></label>
208
-
209
- <div id="nav-content1">
210
-
211
- <img src="test.png" alt="test" width="550" height="400">
212
-
213
- <?php
214
-
215
- while ($row = $stmt->fetch()):
216
-
217
- $title = $row['title1'] ? $row['title1'] : '(無題)';
218
-
219
- ?>
220
-
221
- <p>名前:<?php echo $row['name1'] ?></p>
222
-
223
- <p>タイトル:<?php echo $title ?></p>
224
-
225
- <p><?php echo nl2br($row['body1'], false) ?></p>
226
-
227
- <p><?php echo $row['date1'] ?></p>
228
-
229
- <?php
230
-
231
- endwhile;
232
-
233
-
234
-
235
- //ページ数の表示
236
-
237
- try {
238
-
239
- //プリペアドステートメント作成
240
-
241
- $stmt = $db->prepare("SELECT COUNT(*) FROM bbs1");
242
-
243
- //クエリ
244
-
245
- $stmt->execute();
246
-
247
- } catch (PDOException $e){
248
-
249
- echo "エラー:" . $e->getMessage();
250
-
251
- }
252
-
253
-
254
-
255
- //コメントの件数を取得
256
-
257
- $comments = $stmt->fetchColumn();
258
-
259
- //ページ数を計算
260
-
261
- $max_page = ceil($comments / $num);
262
-
263
- echo '<p>';
264
-
265
- for ($i = 1; $i <= $max_page; $i++){
266
-
267
- echo '<a href="fot.php?page=' . $i . '">' . $i .
268
-
269
- '</a>&nbsp;';
270
-
271
- }
272
-
273
- echo '</p>';
274
-
275
- ?>
276
-
277
- </span>
278
-
279
-
280
-
281
- <p class="name1">この料理へのコメントはこちらから!!</p>
282
-
283
-
284
-
285
- <span class="form">
286
-
287
- <form action="write1.php" method="post">
288
-
289
- <p>名前:<input type="text" name="name1"></p>
290
-
291
- <p>タイトル:<input type="text" name="title1"></p>
292
-
293
- <textarea name="body1"></textarea>
294
-
295
- <p><input type="submit" value="書き込む">&nbsp;&nbsp;<input type="reset" value="リセット"></p>
296
-
297
- </form>
298
-
299
- </span><!-- form -->
300
-
301
- </div><!-- nav-content終了 -->
302
-
303
- </div><!-- ハンバーガー -->
304
-
305
- ```
306
-
307
-
308
-
309
127
  DB一覧。
310
128
 
311
129
  ![イメージ説明](af1319d75d4008b1643054e092a19091.png)

2

情報修正しました。

2018/10/14 13:14

投稿

torinoto7
torinoto7

スコア19

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
- 簡易掲示板を作成しています。
1
+ 複数の簡易掲示板を作成しています。
2
+
2
-
3
+ 一つ目の掲示板はエラーもなく動作しているのですが、
4
+
3
- PHPの動作はうまくいっているのですが、下記のエラーが発生しております。
5
+ 二つ目掲示板は動作はているのですが、下記のエラーがります。
4
6
 
5
7
  コードにまだ慣れていなくどこに記載をしたら良いのか分からないです。
6
8
 
@@ -301,3 +303,9 @@
301
303
  </div><!-- ハンバーガー -->
302
304
 
303
305
  ```
306
+
307
+
308
+
309
+ DB一覧。
310
+
311
+ ![イメージ説明](af1319d75d4008b1643054e092a19091.png)

1

文言修正しました。

2018/10/14 13:02

投稿

torinoto7
torinoto7

スコア19

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  PHPの動作はうまくいっているのですが、下記のエラーが発生しております。
4
4
 
5
- 対応方法教え下さい。
5
+ コードにまだ慣れていなくどこに記載をしたら良いのか分からないです
6
6
 
7
7
  宜しくお願いします。
8
8
 
@@ -12,6 +12,8 @@
12
12
 
13
13
 
14
14
 
15
+ write1.php
16
+
15
17
  ```PHP
16
18
 
17
19
 
@@ -109,3 +111,193 @@
109
111
  ?>
110
112
 
111
113
  ```
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ fot.php
122
+
123
+ ```PHP
124
+
125
+ <?php
126
+
127
+ // 1ページに表示されるコメントの数
128
+
129
+ $num = 3;
130
+
131
+
132
+
133
+ //データベースに接続
134
+
135
+ $dsn = 'mysql:host=localhost;dbname=db11;charset=utf8';
136
+
137
+ $user = 'db11user';
138
+
139
+ $password = '1111'; //DBパスワード
140
+
141
+
142
+
143
+ //ページ数が指定されているとき
144
+
145
+ $page = 0;
146
+
147
+ if (isset($_GET['page']) && $_GET['page'] > 0) {
148
+
149
+ $page = intval($_GET['page']) -1;
150
+
151
+ }
152
+
153
+
154
+
155
+ try {
156
+
157
+ $db = new PDO($dsn, $user, $password);
158
+
159
+ $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
160
+
161
+ //プリペアドステートメントを作成
162
+
163
+ $stmt = $db->prepare(
164
+
165
+ "SELECT * FROM bbs1 ORDER BY date1 DESC LIMIT
166
+
167
+ :page, :num"
168
+
169
+ );
170
+
171
+ //パラメータを割り当て
172
+
173
+ $page = $page * $num;
174
+
175
+ print_r($db->errorInfo());
176
+
177
+ $stmt->bindParam(':page', $page, PDO::PARAM_INT);
178
+
179
+ $stmt->bindParam(':num', $num, PDO::PARAM_INT);
180
+
181
+ //クエリの実行
182
+
183
+ $stmt->execute();
184
+
185
+ } catch(PDOException $e){
186
+
187
+ echo "エラー:" . $e->getMessage();
188
+
189
+ }
190
+
191
+
192
+
193
+ ?>
194
+
195
+ <div id="nav-drawer1"><!-- ハンバーガー -->
196
+
197
+ <input id="nav-input1" type="checkbox" class="nav-unshown1">
198
+
199
+ <label id="nav-open1" for="nav-input1">
200
+
201
+ <img src="test.png" alt="test" width="150" height="150">
202
+
203
+ </label><span></span>
204
+
205
+ <label class="nav-unshown1" id="nav-close1" for="nav-input1"></label>
206
+
207
+ <div id="nav-content1">
208
+
209
+ <img src="test.png" alt="test" width="550" height="400">
210
+
211
+ <?php
212
+
213
+ while ($row = $stmt->fetch()):
214
+
215
+ $title = $row['title1'] ? $row['title1'] : '(無題)';
216
+
217
+ ?>
218
+
219
+ <p>名前:<?php echo $row['name1'] ?></p>
220
+
221
+ <p>タイトル:<?php echo $title ?></p>
222
+
223
+ <p><?php echo nl2br($row['body1'], false) ?></p>
224
+
225
+ <p><?php echo $row['date1'] ?></p>
226
+
227
+ <?php
228
+
229
+ endwhile;
230
+
231
+
232
+
233
+ //ページ数の表示
234
+
235
+ try {
236
+
237
+ //プリペアドステートメント作成
238
+
239
+ $stmt = $db->prepare("SELECT COUNT(*) FROM bbs1");
240
+
241
+ //クエリ
242
+
243
+ $stmt->execute();
244
+
245
+ } catch (PDOException $e){
246
+
247
+ echo "エラー:" . $e->getMessage();
248
+
249
+ }
250
+
251
+
252
+
253
+ //コメントの件数を取得
254
+
255
+ $comments = $stmt->fetchColumn();
256
+
257
+ //ページ数を計算
258
+
259
+ $max_page = ceil($comments / $num);
260
+
261
+ echo '<p>';
262
+
263
+ for ($i = 1; $i <= $max_page; $i++){
264
+
265
+ echo '<a href="fot.php?page=' . $i . '">' . $i .
266
+
267
+ '</a>&nbsp;';
268
+
269
+ }
270
+
271
+ echo '</p>';
272
+
273
+ ?>
274
+
275
+ </span>
276
+
277
+
278
+
279
+ <p class="name1">この料理へのコメントはこちらから!!</p>
280
+
281
+
282
+
283
+ <span class="form">
284
+
285
+ <form action="write1.php" method="post">
286
+
287
+ <p>名前:<input type="text" name="name1"></p>
288
+
289
+ <p>タイトル:<input type="text" name="title1"></p>
290
+
291
+ <textarea name="body1"></textarea>
292
+
293
+ <p><input type="submit" value="書き込む">&nbsp;&nbsp;<input type="reset" value="リセット"></p>
294
+
295
+ </form>
296
+
297
+ </span><!-- form -->
298
+
299
+ </div><!-- nav-content終了 -->
300
+
301
+ </div><!-- ハンバーガー -->
302
+
303
+ ```