回答編集履歴
2
見直し
answer
CHANGED
|
@@ -42,6 +42,9 @@
|
|
|
42
42
|
としていますが、そもそも`$_REQUEST['res']`に値が入っているのかどうか、
|
|
43
43
|
入っていないときにここが空欄になりますが、
|
|
44
44
|
そのときの挙動として今回の問題が起きているような気がします。
|
|
45
|
+
**テーブルposts上でカラムreply_post_idはint型なので、
|
|
46
|
+
空欄は許されません**ので。
|
|
47
|
+
せめてゼロを詰めるとか、NULLを許可するなどしないといけないのではないかと。
|
|
45
48
|
|
|
46
49
|
もしもApache上でphpを実行しているなら、
|
|
47
50
|
[PHPのエラー表示設定について - Qiita](https://qiita.com/shotets/items/3c95aef631b2c5eadae5#%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E5%AE%9A%E6%95%B0)
|
1
見直し
answer
CHANGED
|
@@ -18,10 +18,30 @@
|
|
|
18
18
|
その延長でもしも`empty($_POST['message'])`などと使い出すと(今回は良くても)いずれどこかで間違うかもしれません。
|
|
19
19
|
`if (isset($_POST['message']))`みたいな書き方のほうが良いかと。
|
|
20
20
|
|
|
21
|
-
dbconnect.php の中でどういうことをしてデータベース接続しているのか、
|
|
22
|
-
ちゃんと接続できているのか、
|
|
23
|
-
テーブル
|
|
21
|
+
テーブルpostsの構造を見ると、
|
|
22
|
+
Nullが許されない、かつ自動で値が詰められないカラムが
|
|
23
|
+
message
|
|
24
|
+
member_id
|
|
25
|
+
reply_post_id
|
|
26
|
+
の3つです。
|
|
27
|
+
これらを引き渡すために
|
|
28
|
+
$member['id'],
|
|
29
|
+
$_POST['message'],
|
|
30
|
+
$_POST['reply_post_id']
|
|
31
|
+
を渡していますが、ちゃんとこれらのパラメータを受信できているか検証しないと
|
|
24
|
-
|
|
32
|
+
クエリー実行時エラーになります。
|
|
33
|
+
```php
|
|
34
|
+
if (isset($_POST['message']) && isset($_POST['reply_post_id'])) {
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
くらいは最低限やらないといけません。
|
|
38
|
+
POST送信するフォーム上で、
|
|
39
|
+
```
|
|
40
|
+
<input type="hidden" name="reply_post_id" value="<?php echo h($_REQUEST['res']); ?>" />
|
|
41
|
+
```
|
|
42
|
+
としていますが、そもそも`$_REQUEST['res']`に値が入っているのかどうか、
|
|
43
|
+
入っていないときにここが空欄になりますが、
|
|
44
|
+
そのときの挙動として今回の問題が起きているような気がします。
|
|
25
45
|
|
|
26
46
|
もしもApache上でphpを実行しているなら、
|
|
27
47
|
[PHPのエラー表示設定について - Qiita](https://qiita.com/shotets/items/3c95aef631b2c5eadae5#%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E5%AE%9A%E6%95%B0)
|