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

回答編集履歴

3

誤字修正

2017/07/13 09:39

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -1,4 +1,4 @@
1
- 自己解決したようですがつコメントです。
1
+ 自己解決したようですがいくコメントです。
2
2
 
3
3
  1つめ。投稿処理(INSERT)が `if ($_SERVER['REQUEST_METHOD'] === 'POST')` の外にあるため、アクセスするたびに空の投稿が記録されてしまいます。`if (empty($errors) === true){ ... }` を最初の if 文の中にいれましょう。
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  もっと言うと、CSRF (クロスサイトリクエストフォージェリ)という攻撃も出来てしまう問題があるのですが、このへんは追々学んでいけばよいと思います。
8
8
 
9
- 3つめ。これは好みの話ですが、foreach のブロックが分断されていると見づらい(いきなり `}` が出てきても何を閉じているのか見えにくい)ので、foreach / endforeach に書き換えると見やすくなる気がします。
9
+ 3つめ。これは好みの話ですが、foreach のブロックが分断されていると見づらい(いきなり `}` が出てきても何を閉じているのか判りづらい)ので、foreach / endforeach に書き換えると見やすくなる気がします。
10
10
 
11
11
  また細かい話ですが `<?php echo $hoge; ?>` は `<?= $hoge ?>` に置き換えられます。
12
12
 

2

ショートタグについて追記

2017/07/13 09:39

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  3つめ。これは好みの話ですが、foreach のブロックが分断されていると見づらい(いきなり `}` が出てきても何を閉じているのか見えにくい)ので、foreach / endforeach に書き換えると見やすくなる気がします。
10
10
 
11
+ また細かい話ですが `<?php echo $hoge; ?>` は `<?= $hoge ?>` に置き換えられます。
12
+
11
13
  ```php
12
14
  <?php foreach ($data as $value) { ?>
13
15
  <li>
@@ -21,9 +23,9 @@
21
23
 
22
24
  <?php foreach ($data as $value): ?>
23
25
  <li>
24
- <?php echo htmlspecialchars($value['user_name'], ENT_QUOTES, 'UTF-8'); ?>
26
+ <?= htmlspecialchars($value['user_name'], ENT_QUOTES, 'UTF-8') ?>
25
- <?php echo htmlspecialchars($value['user_comment'], ENT_QUOTES, 'UTF-8'); ?>
27
+ <?= htmlspecialchars($value['user_comment'], ENT_QUOTES, 'UTF-8') ?>
26
- <?php echo htmlspecialchars($value['date'], ENT_QUOTES, 'UTF-8'); ?>
28
+ <?= htmlspecialchars($value['date'], ENT_QUOTES, 'UTF-8') ?>
27
29
  </li>
28
30
  <?php endforeach; ?>
29
31
  ```

1

コロン表記について追加

2017/07/13 09:38

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -6,4 +6,26 @@
6
6
 
7
7
  もっと言うと、CSRF (クロスサイトリクエストフォージェリ)という攻撃も出来てしまう問題があるのですが、このへんは追々学んでいけばよいと思います。
8
8
 
9
+ 3つめ。これは好みの話ですが、foreach のブロックが分断されていると見づらい(いきなり `}` が出てきても何を閉じているのか見えにくい)ので、foreach / endforeach に書き換えると見やすくなる気がします。
10
+
11
+ ```php
12
+ <?php foreach ($data as $value) { ?>
13
+ <li>
14
+ <?php echo htmlspecialchars($value['user_name'], ENT_QUOTES, 'UTF-8'); ?>
15
+ <?php echo htmlspecialchars($value['user_comment'], ENT_QUOTES, 'UTF-8'); ?>
16
+ <?php echo htmlspecialchars($value['date'], ENT_QUOTES, 'UTF-8'); ?>
17
+ </li>
18
+ <?php } ?>
19
+
20
+
21
+
22
+ <?php foreach ($data as $value): ?>
23
+ <li>
24
+ <?php echo htmlspecialchars($value['user_name'], ENT_QUOTES, 'UTF-8'); ?>
25
+ <?php echo htmlspecialchars($value['user_comment'], ENT_QUOTES, 'UTF-8'); ?>
26
+ <?php echo htmlspecialchars($value['date'], ENT_QUOTES, 'UTF-8'); ?>
27
+ </li>
28
+ <?php endforeach; ?>
29
+ ```
30
+
9
31
  処理部分(PHPのコード)とHTML表示部分を分けて書かれていて見やすいコードでした。がんばってください。