質問編集履歴
2
var_dumpで確認してみました
test
CHANGED
File without changes
|
test
CHANGED
@@ -166,6 +166,14 @@
|
|
166
166
|
|
167
167
|
```
|
168
168
|
|
169
|
+
var_dumpで値が入ってるか見たのですが入ってませんでした。。。
|
170
|
+
|
171
|
+

|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
169
177
|
なぜかtextera内のnameを"message"から別の文字列に変えると$_POSTには値が入るのですがそれに合わせて一番最初のif文以下の$_POST[""]の中のmessageを変えるとまた値が入らなくなります。
|
170
178
|
|
171
179
|
教科書通りに進めているのになぜだかここだけうまくいきません。。。。。
|
1
コード全文をのせました。よろしくお願いいたします・・・
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,35 +2,97 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
達成したいこと:
|
6
|
+
|
7
|
+
フォームに入力した値を同じページの下部に表示したい。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
発生している問題:
|
12
|
+
|
13
|
+
フォームで入力した文章が$_POSTに入らずDBにINSERTできない
|
14
|
+
|
15
|
+
|
16
|
+
|
5
|
-
以下コード
|
17
|
+
以下コード全文になります。
|
6
18
|
|
7
19
|
```php
|
8
20
|
|
21
|
+
<?php
|
22
|
+
|
23
|
+
session_start();
|
24
|
+
|
25
|
+
require('dbconnect.php');
|
26
|
+
|
27
|
+
if (isset($_SESSION['id']) && $_SESSION['time'] + 3600 > time()) {
|
28
|
+
|
29
|
+
// ログインしている
|
30
|
+
|
31
|
+
$_SESSION['time'] = time();
|
32
|
+
|
33
|
+
$members = $db->prepare('SELECT * FROM members WHERE id=?');
|
34
|
+
|
35
|
+
$members->execute(array($_SESSION['id']));
|
36
|
+
|
37
|
+
$member = $members->fetch();
|
38
|
+
|
39
|
+
} else {
|
40
|
+
|
41
|
+
// ログインしていない
|
42
|
+
|
43
|
+
header('Location: login.php');
|
44
|
+
|
45
|
+
exit();
|
46
|
+
|
47
|
+
}
|
48
|
+
|
9
|
-
// 投稿を記録する
|
49
|
+
// 投稿を記録する
|
10
50
|
|
11
51
|
if (!empty($_POST)) {
|
12
52
|
|
13
53
|
if ($_POST['message'] != '') {
|
14
54
|
|
15
|
-
$message = $db->prepare('INSERT INTO posts SET member_id=?, message
|
55
|
+
$message = $db->prepare('INSERT INTO posts SET member_id=?, message=?,created=NOW()');
|
16
56
|
|
17
57
|
$message->execute(array(
|
18
58
|
|
19
59
|
$member['id'],
|
20
60
|
|
21
|
-
$_POST['message']
|
61
|
+
$_POST['message']
|
22
|
-
|
23
|
-
$_POST['reply_post_id']
|
24
62
|
|
25
63
|
));
|
26
|
-
|
27
|
-
|
28
64
|
|
29
65
|
header('Location: index.php'); exit();
|
30
66
|
|
31
67
|
}
|
32
68
|
|
33
69
|
}
|
70
|
+
|
71
|
+
// 投稿を取得する
|
72
|
+
|
73
|
+
$posts = $db->query('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id ORDER BY p.created DESC');
|
74
|
+
|
75
|
+
?>
|
76
|
+
|
77
|
+
<!DOCTYPE html>
|
78
|
+
|
79
|
+
<html lang="ja">
|
80
|
+
|
81
|
+
<head>
|
82
|
+
|
83
|
+
<meta charset="UTF-8">
|
84
|
+
|
85
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
86
|
+
|
87
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
88
|
+
|
89
|
+
<title>ひとこと掲示板</title>
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
<link rel="stylesheet" href="style.css" />
|
94
|
+
|
95
|
+
</head>
|
34
96
|
|
35
97
|
|
36
98
|
|
@@ -46,45 +108,63 @@
|
|
46
108
|
|
47
109
|
<div id="content">
|
48
110
|
|
49
|
-
|
111
|
+
<form action="" method="post">
|
50
112
|
|
51
|
-
|
113
|
+
<dl>
|
52
114
|
|
53
|
-
|
115
|
+
<dt><?php echo htmlspecialchars($member['name'], ENT_QUOTES); ?>さん、メッセージをどうぞ</dt>
|
54
116
|
|
55
|
-
|
117
|
+
<dd>
|
56
118
|
|
57
|
-
|
119
|
+
<textarea name="message" cols="50" rows="5"></textarea>
|
58
120
|
|
59
|
-
/
|
121
|
+
</dd>
|
60
122
|
|
61
|
-
|
123
|
+
</dl>
|
62
124
|
|
63
|
-
|
125
|
+
<div>
|
64
126
|
|
65
|
-
|
127
|
+
<input type="submit" value="投稿する" />
|
66
128
|
|
67
|
-
|
129
|
+
</div>
|
68
130
|
|
69
|
-
</dl>
|
70
|
-
|
71
|
-
<div>
|
72
|
-
|
73
|
-
<p>
|
74
|
-
|
75
|
-
<input type="submit" value="投稿する" />
|
76
|
-
|
77
|
-
</p>
|
78
|
-
|
79
|
-
</div>
|
80
|
-
|
81
|
-
|
131
|
+
</form>
|
82
132
|
|
83
133
|
|
84
134
|
|
135
|
+
<?php
|
136
|
+
|
137
|
+
foreach ($posts as $post):
|
138
|
+
|
85
|
-
|
139
|
+
?>
|
140
|
+
|
141
|
+
<div class="msg">
|
142
|
+
|
143
|
+
<img src="member_picture/<?php echo htmlspecialchars($post['picture'], ENT_QUOTES); ?>" width="48" height="48" alt="<?php echo htmlspecialchars($post['name'], ENT_QUOTES); ?>" />
|
144
|
+
|
145
|
+
<p><?php echo htmlspecialchars($post['message'], ENT_QUOTES);?><span class="name">(<?php echo htmlspecialchars($post['name'], ENT_QUOTES); ?>)</span></p>
|
146
|
+
|
147
|
+
<p class="day"><?php echo htmlspecialchars($post['created'], ENT_QUOTES); ?></p>
|
148
|
+
|
149
|
+
</div>
|
150
|
+
|
151
|
+
<?php
|
152
|
+
|
153
|
+
endforeach;
|
154
|
+
|
155
|
+
?>
|
156
|
+
|
157
|
+
</div>
|
86
158
|
|
87
159
|
|
160
|
+
|
161
|
+
</div>
|
162
|
+
|
163
|
+
</body>
|
164
|
+
|
165
|
+
</html>
|
166
|
+
|
167
|
+
```
|
88
168
|
|
89
169
|
なぜかtextera内のnameを"message"から別の文字列に変えると$_POSTには値が入るのですがそれに合わせて一番最初のif文以下の$_POST[""]の中のmessageを変えるとまた値が入らなくなります。
|
90
170
|
|