質問編集履歴

16

ソース改善

2016/12/22 01:41

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -154,6 +154,12 @@
154
154
 
155
155
  echo htmlspecialchars($row['comment']);
156
156
 
157
+ echo "<form method='POST' action=''>
158
+
159
+ <input type='submit' value''>
160
+
161
+ </form>";
162
+
157
163
  echo "</div>";
158
164
 
159
165
  }

15

ソースの変更

2016/12/22 01:41

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -66,35 +66,9 @@
66
66
 
67
67
 
68
68
 
69
- test.php
69
+ sakujo.php
70
70
 
71
71
 
72
-
73
- <?php
74
-
75
- try {if($_SERVER['REQUEST_METHOD']==='POST'){ //SQLに接続
76
-
77
- $pdo = new PDO($dsn, $user, $password);
78
-
79
- $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
80
-
81
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //データベースに追加
82
-
83
- $sql = "INSERT INTO XXX (id, name, comment) VALUES (:id, :name, :comment)";
84
-
85
- $stm = $pdo->prepare($sql);
86
-
87
- $stm->bindValue(':id', $id, PDO::PARAM_INT);
88
-
89
- $stm->bindValue(':name', $name, PDO::PARAM_STR);
90
-
91
- $stm->bindValue(':comment', $comment, PDO::PARAM_STR);
92
-
93
- $stm->execute();
94
-
95
- header('Location:test.phpの絶対パス',true,303);
96
-
97
- }else{?>
98
72
 
99
73
  <!DOCTYPE html>
100
74
 
@@ -108,102 +82,98 @@
108
82
 
109
83
  <body>
110
84
 
111
- <form method="POST" action="<?php echo($_SERVER['PHP_SELF']); ?>">
85
+ <form method="POST" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
112
86
 
113
- <input type="hidden" name="id">
87
+ <input type="text" name="name" placeholder="名前"><br>
114
88
 
115
- <input type="text" name="name" placeholder="名前"><br>
89
+ <input type="text" name="comment" placeholder="コメント">
116
90
 
117
- <input type="text" name="comment" placeholder="コメント">
91
+ <input type="hidden" name="otp" value="<?PHP print md5(microtime());?>">
118
92
 
119
- <input type="submit" value="投稿">
93
+ <input type="submit" value="投稿">
120
94
 
121
- </form>
95
+ </form>
96
+
97
+
98
+
99
+ <?php
100
+
101
+ ini_set( 'display_errors', 1 );
102
+
103
+ $user = 'ユーザ名';
104
+
105
+ $password = 'パスワード';
106
+
107
+ $dbName = 'データベース';
108
+
109
+ $host = 'ホスト';
110
+
111
+ $dsn = "mysql:host={$host};dbname={$dbName};charset=utf8";
112
+
113
+
114
+
115
+ $otp = filter_input(INPUT_POST,"otp");
116
+
117
+ $name = filter_input(INPUT_POST,"name");
118
+
119
+ $comment = filter_input(INPUT_POST,"comment");
120
+
121
+ try {
122
+
123
+ $pdo = new PDO($dsn, $user, $password);
124
+
125
+ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
126
+
127
+ $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
128
+
129
+ if(!is_null($otp)){
130
+
131
+ $sql = "INSERT INTO XXX (name, comment,otp) VALUES (?,?,?)";
132
+
133
+ $stm = $pdo->prepare($sql);
134
+
135
+ $data=[$name,$comment,$otp];
136
+
137
+ $stm->execute($data);
138
+
139
+ }
140
+
141
+ $sql = "SELECT * FROM XXX ORDER BY id DESC LIMIT 10";
142
+
143
+ $stm = $pdo->query($sql);
144
+
145
+ $result = $stm->fetchAll();
146
+
147
+ foreach ($result as $row) {
148
+
149
+ echo "<div>";
150
+
151
+ echo $row['id'].")";
152
+
153
+ echo htmlspecialchars($row['name']);
154
+
155
+ echo htmlspecialchars($row['comment']);
156
+
157
+ echo "</div>";
158
+
159
+ }
160
+
161
+ } catch (Exception $e) {
162
+
163
+ echo 'エラーがありました。<br>';
164
+
165
+ echo $e->getMessage();
166
+
167
+ }
168
+
169
+ ?>
170
+
171
+
122
172
 
123
173
  </body>
124
174
 
125
175
  </html>
126
176
 
127
- <?php
128
-
129
- //SQLに接続
130
-
131
- $pdo = new PDO($dsn, $user, $password);
132
-
133
- $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
134
-
135
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
136
-
137
- // データベースから全ての投稿を取り出して、ページに表示
138
-
139
- $sql = "SELECT * FROM XXX";
140
-
141
- $stm = $pdo->prepare($sql);
142
-
143
- $stm->execute();
144
-
145
- $result = $stm->fetchAll(PDO::FETCH_ASSOC);
146
177
 
147
178
 
148
-
149
- foreach ($result as $row) {
150
-
151
- echo ($row['name']);
152
-
153
- echo ($row['comment']);
154
-
155
- // 投稿ごとの削除ボタンの表示
156
-
157
- echo"<form method='POST' action=''>
158
-
159
- <input type='submit' value=''>
160
-
161
- </form>";
162
-
163
- }
164
-
165
- }
166
-
167
- //削除処理
168
-
169
- $sql = "DELETE FROM 'XXX' WHERE ''"
170
-
171
- $stm = $pdo->prepare($sql);
172
-
173
- $stm->exececute();
174
-
175
-
176
-
177
- $sql = "SELECT * FROM XXX";
178
-
179
- $stm = $pdo->prepare($sql);
180
-
181
- $stm->execute();
182
-
183
- $result = $stm->fetchAll(PDO::FETCH_ASSOC);
184
-
185
- //特定の投稿を削除後、表示
186
-
187
- foreach ($result as $row) {
188
-
189
- echo ($row['name']);
190
-
191
- echo ($row['comment']);
192
-
193
- echo"<form method='POST' action=''>
194
-
195
- <input type='submit' value=''>
196
-
197
- </form>";
198
-
199
- } catch (Exception $e) {
200
-
201
- echo 'エラーがありました。<br>';
202
-
203
- echo $e->getMessage();
204
-
205
- }
206
-
207
- ?>
208
-
209
179
  ```

14

書式改善

2016/12/22 01:35

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -162,7 +162,7 @@
162
162
 
163
163
  }
164
164
 
165
-
165
+ }
166
166
 
167
167
  //削除処理
168
168
 
@@ -196,16 +196,14 @@
196
196
 
197
197
  </form>";
198
198
 
199
+ } catch (Exception $e) {
200
+
201
+ echo 'エラーがありました。<br>';
202
+
203
+ echo $e->getMessage();
204
+
199
205
  }
200
206
 
201
- } catch (Exception $e) {
202
-
203
- echo 'エラーがありました。<br>';
204
-
205
- echo $e->getMessage();
206
-
207
- }
208
-
209
207
  ?>
210
208
 
211
209
  ```

13

書式改善

2016/12/21 23:09

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -32,12 +32,16 @@
32
32
 
33
33
  idカラムの番号レコードの指定の仕方
34
34
 
35
- ③投稿ごとに表示する削除フォームのinputタグの
35
+ ③投稿ごとに表示する削除フォームのinputタグの
36
36
 
37
37
  value属性、action属性の値の指定の仕方
38
38
 
39
39
 
40
40
 
41
+
42
+
43
+
44
+
41
45
  が分りません。
42
46
 
43
47
 

12

書式改善

2016/12/21 22:34

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,9 @@
24
24
 
25
25
  ①投稿処理->表示、削除処理->表示、を同一ページで
26
26
 
27
- 両立・分類させる正しい記述
27
+ 両立・分類させる正しい構文
28
+
29
+
28
30
 
29
31
  ②DELETE命令のWHERE条件での
30
32
 

11

書式改善

2016/12/21 22:33

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -16,13 +16,13 @@
16
16
 
17
17
  そして、**webページ上で投稿ごとに削除ボタンを表示し、
18
18
 
19
- そのボタンをクリックすれば、当該投稿が削除される**という形を作りたいのですが、
19
+ そのボタンをクリックすれば、当該投稿が削除されるという形**を作りたいのですが、
20
-
21
-
22
-
23
-
24
-
20
+
21
+
22
+
23
+
24
+
25
- **①投稿処理->表示、削除処理->表示、を同一ページで
25
+ ①投稿処理->表示、削除処理->表示、を同一ページで
26
26
 
27
27
  両立・分類させる正しい記述
28
28
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  ③投稿ごとに表示する削除フォームのinputタグの
34
34
 
35
- value属性、action属性の値の指定の仕方**
35
+ value属性、action属性の値の指定の仕方
36
36
 
37
37
 
38
38
 

10

書式改善

2016/12/21 22:25

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -146,7 +146,9 @@
146
146
 
147
147
  echo ($row['comment']);
148
148
 
149
+ // 投稿ごとの削除ボタンの表示
150
+
149
- echo"<form method='POST' action=''> // 投稿ごとの削除ボタンの表示
151
+ echo"<form method='POST' action=''>
150
152
 
151
153
  <input type='submit' value=''>
152
154
 

9

書式改善

2016/12/21 22:21

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  idカラムの番号レコードの指定の仕方
32
32
 
33
- ③投稿に表示する削除フォームのinputタグの
33
+ ③投稿ごとに表示する削除フォームのinputタグの
34
34
 
35
35
  value属性、action属性の値の指定の仕方**
36
36
 

8

書式改善

2016/12/21 22:03

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,7 @@
1
+ ###前提・実現したいこと
2
+
3
+
4
+
1
5
  MySQL、PHPについての質問です。
2
6
 
3
7
 
@@ -36,6 +40,8 @@
36
40
 
37
41
 
38
42
 
43
+ ###ソースコード
44
+
39
45
 
40
46
 
41
47
  そこで、下記の記述途中のコードにどのように追記・修正すれば、

7

書式改善

2016/12/21 22:02

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,8 @@
13
13
  そして、**webページ上で投稿ごとに削除ボタンを表示し、
14
14
 
15
15
  そのボタンをクリックすれば、当該投稿が削除される**という形を作りたいのですが、
16
+
17
+
16
18
 
17
19
 
18
20
 

6

書式改善

2016/12/21 21:59

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -16,15 +16,17 @@
16
16
 
17
17
 
18
18
 
19
- ①投稿処理->表示、削除処理->表示、を同一ページで
19
+ **①投稿処理->表示、削除処理->表示、を同一ページで
20
20
 
21
21
  両立・分類させる正しい記述
22
22
 
23
- ②DELETE命令のWHERE条件でのidカラムの番号レコードの指定の仕方
23
+ ②DELETE命令のWHERE条件での
24
+
25
+ idカラムの番号レコードの指定の仕方
24
26
 
25
27
  ③投稿に表示する削除フォームのinputタグの
26
28
 
27
- value属性、action属性の値の指定の仕方
29
+ value属性、action属性の値の指定の仕方**
28
30
 
29
31
 
30
32
 

5

書式改善

2016/12/21 21:58

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -174,7 +174,7 @@
174
174
 
175
175
  echo"<form method='POST' action=''>
176
176
 
177
- <input type='submit' value='削除'>
177
+ <input type='submit' value=''>
178
178
 
179
179
  </form>";
180
180
 

4

書式改善

2016/12/21 21:57

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 削除機能を備えた掲示板を作ろうとしています。
5
+ **削除機能を備えた掲示板**を作ろうとしています。
6
6
 
7
7
  phpMyAdminにXXXというテーブルを設定し、
8
8
 
@@ -34,13 +34,13 @@
34
34
 
35
35
 
36
36
 
37
-
38
-
39
- 下記の記述途中のコードにどのように追記・修正すれば、
37
+ そこで、下記の記述途中のコードにどのように追記・修正すれば、
40
38
 
41
39
  上記のような削除機能を備えた掲示板を作ることができるか、
42
40
 
43
41
  ご回答くださる方がいれば、大変助かります。
42
+
43
+
44
44
 
45
45
  よろしくお願いします。
46
46
 
@@ -138,11 +138,45 @@
138
138
 
139
139
  echo"<form method='POST' action=''> // 投稿ごとの削除ボタンの表示
140
140
 
141
- <input type='submit' value='削除'>
141
+ <input type='submit' value=''>
142
142
 
143
143
  </form>";
144
144
 
145
145
  }
146
+
147
+
148
+
149
+ //削除処理
150
+
151
+ $sql = "DELETE FROM 'XXX' WHERE ''"
152
+
153
+ $stm = $pdo->prepare($sql);
154
+
155
+ $stm->exececute();
156
+
157
+
158
+
159
+ $sql = "SELECT * FROM XXX";
160
+
161
+ $stm = $pdo->prepare($sql);
162
+
163
+ $stm->execute();
164
+
165
+ $result = $stm->fetchAll(PDO::FETCH_ASSOC);
166
+
167
+ //特定の投稿を削除後、表示
168
+
169
+ foreach ($result as $row) {
170
+
171
+ echo ($row['name']);
172
+
173
+ echo ($row['comment']);
174
+
175
+ echo"<form method='POST' action=''>
176
+
177
+ <input type='submit' value='削除'>
178
+
179
+ </form>";
146
180
 
147
181
  }
148
182
 

3

書式改善

2016/12/21 21:56

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- ###削除機能を備えた掲示板を作ろうとしています。
5
+ 削除機能を備えた掲示板を作ろうとしています。
6
6
 
7
7
  phpMyAdminにXXXというテーブルを設定し、
8
8
 
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- そして、###webページ上で投稿ごとに削除ボタンを表示し、
13
+ そして、**webページ上で投稿ごとに削除ボタンを表示し、
14
14
 
15
15
  そのボタンをクリックすれば、当該投稿が削除される**という形を作りたいのですが、
16
16
 

2

書式改善

2016/12/21 21:52

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 削除機能を備えた掲示板を作ろうとしています。
5
+ ###削除機能を備えた掲示板を作ろうとしています。
6
6
 
7
7
  phpMyAdminにXXXというテーブルを設定し、
8
8
 
@@ -10,13 +10,29 @@
10
10
 
11
11
 
12
12
 
13
- そして、webページ上で投稿ごとに削除ボタンを表示し、
13
+ そして、###webページ上で投稿ごとに削除ボタンを表示し、
14
14
 
15
- そのボタンをクリックすれば、当該投稿が削除されるという形を作りたいのですが、
15
+ そのボタンをクリックすれば、当該投稿が削除される**という形を作りたいのですが、
16
16
 
17
- ①DELETE命令の正しい記述の仕方・位置と
18
17
 
18
+
19
+ ①投稿処理->表示、削除処理->表示、を同一ページで
20
+
21
+ 両立・分類させる正しい記述
22
+
23
+ ②DELETE命令のWHERE条件でのidカラムの番号レコードの指定の仕方
24
+
19
- 投稿に表示する削除フォームの正しい記述仕方がわかりません。
25
+ 投稿に表示する削除フォームのinputタグ
26
+
27
+ value属性、action属性の値の指定の仕方
28
+
29
+
30
+
31
+ が分りません。
32
+
33
+
34
+
35
+
20
36
 
21
37
 
22
38
 

1

記述追加

2016/12/21 21:51

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  下記の記述途中のコードにどのように追記・修正すれば、
24
24
 
25
- 削除機能を備えた掲示板を作ることができるか、
25
+ 上記のような削除機能を備えた掲示板を作ることができるか、
26
26
 
27
27
  ご回答くださる方がいれば、大変助かります。
28
28