回答編集履歴

4

修正

2018/08/19 16:45

投稿

退会済みユーザー
test CHANGED
@@ -1,75 +1 @@
1
- ```php
2
-
3
- <td><a href='2.php?name=$name'><?php print $name; ?></a></td>
4
-
5
- ```
6
-
7
-
8
-
9
-
10
-
11
- ```php
12
-
13
- <td><a href='2.php?name=<?php echo urlencode($name) ?>'><?php print $name; ?></a></td>
14
-
15
- ```
16
-
17
-
18
-
19
- ```php
20
-
21
-
22
-
23
- $sql = "SELECT id,name,price from juices where name='$name'";
24
-
25
- $statement = $database->query($sql);
26
-
27
- $records = $statement->fetchAll();
28
-
29
- ```
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
- ```php
38
-
39
-
40
-
41
- $sql = "SELECT id,name,price from juices where name=:name";
42
-
43
- $database->prepare($sql);
1
+ 質問者が質問を消したようなので削除
44
-
45
- $statement = $database->execute([':name' => $name]);
46
-
47
- $records = $statement->fetchAll();
48
-
49
- ```
50
-
51
-
52
-
53
- ```php
54
-
55
- $id = $_GET["id"];
56
-
57
- $price = $_GET["price"];
58
-
59
- $title = $_GET["title"];
60
-
61
- ```
62
-
63
-
64
-
65
- ```php
66
-
67
- $id = $_GET["id"];
68
-
69
- $price = $_GET["price"];
70
-
71
- $title = $_GET["title"];
72
-
73
- $name = $_GET["name"];
74
-
75
- ```

3

修正

2018/08/19 16:45

投稿

退会済みユーザー
test CHANGED
@@ -73,293 +73,3 @@
73
73
  $name = $_GET["name"];
74
74
 
75
75
  ```
76
-
77
-
78
-
79
- ---
80
-
81
-
82
-
83
- # Sample
84
-
85
-
86
-
87
- ```sql
88
-
89
- CREATE TABLE `sample` (
90
-
91
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
92
-
93
- `name` varchar(64) NOT NULL DEFAULT '',
94
-
95
- PRIMARY KEY (`id`)
96
-
97
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
98
-
99
-
100
-
101
- INSERT INTO `sample` (`id`, `name`)
102
-
103
- VALUES
104
-
105
- (1,'Suzuki'),
106
-
107
- (2,'Sato');
108
-
109
- ```
110
-
111
-
112
-
113
- ```php
114
-
115
- <?php
116
-
117
-
118
-
119
- /**
120
-
121
- * common.php
122
-
123
- * @since 2018/08/19
124
-
125
- */
126
-
127
- // 文法エラーを表示する
128
-
129
- ini_set('display_errors', true);
130
-
131
- error_reporting(E_ALL);
132
-
133
-
134
-
135
- /**
136
-
137
- * XSS対策
138
-
139
- * @param string $string
140
-
141
- * @return string
142
-
143
- */
144
-
145
- function h(string $string)
146
-
147
- {
148
-
149
- return htmlspecialchars($string, ENT_QUOTES, 'utf-8');
150
-
151
- }
152
-
153
-
154
-
155
- /**
156
-
157
- * PDOオブジェクトを取得
158
-
159
- * @return \PDO
160
-
161
- */
162
-
163
- function getPdo()
164
-
165
- {
166
-
167
- $dsn = 'mysql:host=localhost;dbname=sample;charset=utf8mb4';
168
-
169
- $user = 'root';
170
-
171
- $password = 'password';
172
-
173
- $option = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
174
-
175
- $pdo = new PDO($dsn, $user, $password, $option);
176
-
177
- return $pdo;
178
-
179
- }
180
-
181
-
182
-
183
- /**
184
-
185
- * レコードセットを取得
186
-
187
- * @param string $sql
188
-
189
- * @param array $params
190
-
191
- * @return array
192
-
193
- */
194
-
195
- function select($sql, $params = [])
196
-
197
- {
198
-
199
- $pdo = getPdo();
200
-
201
- $stmt = $pdo->prepare($sql);
202
-
203
- $stmt->execute($params);
204
-
205
- return $stmt->fetchAll();
206
-
207
- }
208
-
209
-
210
-
211
- /**
212
-
213
- * レコードを取得
214
-
215
- * @param string $sql
216
-
217
- * @param array $params
218
-
219
- * @return array
220
-
221
- */
222
-
223
- function selectOne($sql, $params = [])
224
-
225
- {
226
-
227
- $pdo = getPdo();
228
-
229
- $stmt = $pdo->prepare($sql);
230
-
231
- $stmt->execute($params);
232
-
233
- return $stmt->fetch();
234
-
235
- }
236
-
237
- ```
238
-
239
-
240
-
241
- ```php
242
-
243
- <?php
244
-
245
- /**
246
-
247
- * index.php
248
-
249
- * @since 2018/08/19
250
-
251
- */
252
-
253
- // 共通関数を読み込む
254
-
255
- require 'common.php';
256
-
257
-
258
-
259
- $rows = select('SELECT id, name FROM `sample` WHERE 1');
260
-
261
- ?>
262
-
263
- <!DOCTYPE HTML>
264
-
265
- <html lang="ja">
266
-
267
- <head>
268
-
269
- <meta charset="UTF-8">
270
-
271
- <title>LIST</title>
272
-
273
- </head>
274
-
275
- <body>
276
-
277
- <div>
278
-
279
- <table>
280
-
281
- <thead>
282
-
283
- <tr>
284
-
285
- <th>NAME</th>
286
-
287
- </tr>
288
-
289
- </thead>
290
-
291
- <tbody>
292
-
293
- <?php foreach ($rows as $row): ?>
294
-
295
- <tr>
296
-
297
- <td>
298
-
299
- <a href="detail.php?id=<?php echo h($row['id']) ?>">
300
-
301
- <?php echo h($row['name']) ?>
302
-
303
- </a>
304
-
305
- </td>
306
-
307
- </tr>
308
-
309
- <?php endforeach; ?>
310
-
311
- </tbody>
312
-
313
- </table>
314
-
315
- </div>
316
-
317
- </body>
318
-
319
- </html>
320
-
321
- ```
322
-
323
-
324
-
325
- ```php
326
-
327
- <?php
328
-
329
- /**
330
-
331
- * detail.php
332
-
333
- * @since 2018/08/19
334
-
335
- */
336
-
337
- require 'common.php';
338
-
339
- $id = filter_input(INPUT_GET, 'id');
340
-
341
- $row = selectOne('SELECT * FROM `sample` WHERE id = :id', [':id' => $id]);
342
-
343
- ?>
344
-
345
- <!DOCTYPE HTML>
346
-
347
- <html lang="ja">
348
-
349
- <head>
350
-
351
- <meta charset="UTF-8">
352
-
353
- <title></title>
354
-
355
- </head>
356
-
357
- <body>
358
-
359
- <p><?php echo h($row['name']); ?></p>
360
-
361
- </body>
362
-
363
- </html>
364
-
365
- ```

2

追記

2018/08/19 15:31

投稿

退会済みユーザー
test CHANGED
@@ -73,3 +73,293 @@
73
73
  $name = $_GET["name"];
74
74
 
75
75
  ```
76
+
77
+
78
+
79
+ ---
80
+
81
+
82
+
83
+ # Sample
84
+
85
+
86
+
87
+ ```sql
88
+
89
+ CREATE TABLE `sample` (
90
+
91
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
92
+
93
+ `name` varchar(64) NOT NULL DEFAULT '',
94
+
95
+ PRIMARY KEY (`id`)
96
+
97
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
98
+
99
+
100
+
101
+ INSERT INTO `sample` (`id`, `name`)
102
+
103
+ VALUES
104
+
105
+ (1,'Suzuki'),
106
+
107
+ (2,'Sato');
108
+
109
+ ```
110
+
111
+
112
+
113
+ ```php
114
+
115
+ <?php
116
+
117
+
118
+
119
+ /**
120
+
121
+ * common.php
122
+
123
+ * @since 2018/08/19
124
+
125
+ */
126
+
127
+ // 文法エラーを表示する
128
+
129
+ ini_set('display_errors', true);
130
+
131
+ error_reporting(E_ALL);
132
+
133
+
134
+
135
+ /**
136
+
137
+ * XSS対策
138
+
139
+ * @param string $string
140
+
141
+ * @return string
142
+
143
+ */
144
+
145
+ function h(string $string)
146
+
147
+ {
148
+
149
+ return htmlspecialchars($string, ENT_QUOTES, 'utf-8');
150
+
151
+ }
152
+
153
+
154
+
155
+ /**
156
+
157
+ * PDOオブジェクトを取得
158
+
159
+ * @return \PDO
160
+
161
+ */
162
+
163
+ function getPdo()
164
+
165
+ {
166
+
167
+ $dsn = 'mysql:host=localhost;dbname=sample;charset=utf8mb4';
168
+
169
+ $user = 'root';
170
+
171
+ $password = 'password';
172
+
173
+ $option = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
174
+
175
+ $pdo = new PDO($dsn, $user, $password, $option);
176
+
177
+ return $pdo;
178
+
179
+ }
180
+
181
+
182
+
183
+ /**
184
+
185
+ * レコードセットを取得
186
+
187
+ * @param string $sql
188
+
189
+ * @param array $params
190
+
191
+ * @return array
192
+
193
+ */
194
+
195
+ function select($sql, $params = [])
196
+
197
+ {
198
+
199
+ $pdo = getPdo();
200
+
201
+ $stmt = $pdo->prepare($sql);
202
+
203
+ $stmt->execute($params);
204
+
205
+ return $stmt->fetchAll();
206
+
207
+ }
208
+
209
+
210
+
211
+ /**
212
+
213
+ * レコードを取得
214
+
215
+ * @param string $sql
216
+
217
+ * @param array $params
218
+
219
+ * @return array
220
+
221
+ */
222
+
223
+ function selectOne($sql, $params = [])
224
+
225
+ {
226
+
227
+ $pdo = getPdo();
228
+
229
+ $stmt = $pdo->prepare($sql);
230
+
231
+ $stmt->execute($params);
232
+
233
+ return $stmt->fetch();
234
+
235
+ }
236
+
237
+ ```
238
+
239
+
240
+
241
+ ```php
242
+
243
+ <?php
244
+
245
+ /**
246
+
247
+ * index.php
248
+
249
+ * @since 2018/08/19
250
+
251
+ */
252
+
253
+ // 共通関数を読み込む
254
+
255
+ require 'common.php';
256
+
257
+
258
+
259
+ $rows = select('SELECT id, name FROM `sample` WHERE 1');
260
+
261
+ ?>
262
+
263
+ <!DOCTYPE HTML>
264
+
265
+ <html lang="ja">
266
+
267
+ <head>
268
+
269
+ <meta charset="UTF-8">
270
+
271
+ <title>LIST</title>
272
+
273
+ </head>
274
+
275
+ <body>
276
+
277
+ <div>
278
+
279
+ <table>
280
+
281
+ <thead>
282
+
283
+ <tr>
284
+
285
+ <th>NAME</th>
286
+
287
+ </tr>
288
+
289
+ </thead>
290
+
291
+ <tbody>
292
+
293
+ <?php foreach ($rows as $row): ?>
294
+
295
+ <tr>
296
+
297
+ <td>
298
+
299
+ <a href="detail.php?id=<?php echo h($row['id']) ?>">
300
+
301
+ <?php echo h($row['name']) ?>
302
+
303
+ </a>
304
+
305
+ </td>
306
+
307
+ </tr>
308
+
309
+ <?php endforeach; ?>
310
+
311
+ </tbody>
312
+
313
+ </table>
314
+
315
+ </div>
316
+
317
+ </body>
318
+
319
+ </html>
320
+
321
+ ```
322
+
323
+
324
+
325
+ ```php
326
+
327
+ <?php
328
+
329
+ /**
330
+
331
+ * detail.php
332
+
333
+ * @since 2018/08/19
334
+
335
+ */
336
+
337
+ require 'common.php';
338
+
339
+ $id = filter_input(INPUT_GET, 'id');
340
+
341
+ $row = selectOne('SELECT * FROM `sample` WHERE id = :id', [':id' => $id]);
342
+
343
+ ?>
344
+
345
+ <!DOCTYPE HTML>
346
+
347
+ <html lang="ja">
348
+
349
+ <head>
350
+
351
+ <meta charset="UTF-8">
352
+
353
+ <title></title>
354
+
355
+ </head>
356
+
357
+ <body>
358
+
359
+ <p><?php echo h($row['name']); ?></p>
360
+
361
+ </body>
362
+
363
+ </html>
364
+
365
+ ```

1

追記

2018/08/19 11:12

投稿

退会済みユーザー
test CHANGED
@@ -47,3 +47,29 @@
47
47
  $records = $statement->fetchAll();
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ ```php
54
+
55
+ $id = $_GET["id"];
56
+
57
+ $price = $_GET["price"];
58
+
59
+ $title = $_GET["title"];
60
+
61
+ ```
62
+
63
+
64
+
65
+ ```php
66
+
67
+ $id = $_GET["id"];
68
+
69
+ $price = $_GET["price"];
70
+
71
+ $title = $_GET["title"];
72
+
73
+ $name = $_GET["name"];
74
+
75
+ ```