質問編集履歴
3
皆様のご意見を基に修正したところ解決いたしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -269,3 +269,201 @@
|
|
269
269
|
どのようにしたら、formで入力した値がsqlの疑問符プレースホルダにバインドされるのでしょうか?
|
270
270
|
|
271
271
|
アドバイスとご指導のほどよろしくお願いします。
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
**皆様のご意見を基に、次のようなコードにしたら私の望んでいる結果を出力できるようになりました。**
|
278
|
+
|
279
|
+
```ここに言語を入力
|
280
|
+
|
281
|
+
<?php
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
define('DSN', 'mysql:host=127.0.0.1;port=3306;dbname=mydb;charset=utf8;');
|
286
|
+
|
287
|
+
define('DB_USER', 'C9_USER');
|
288
|
+
|
289
|
+
define('DB_PASSWORD', '');
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
if (!empty($_POST)) {
|
296
|
+
|
297
|
+
try{
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
$company_name = filter_input( INPUT_POST, "cName");
|
302
|
+
|
303
|
+
$assigned_person = filter_input( INPUT_POST, "tanto");
|
304
|
+
|
305
|
+
$website = filter_input( INPUT_POST, "website");
|
306
|
+
|
307
|
+
$phone = filter_input( INPUT_POST, "tel");
|
308
|
+
|
309
|
+
$email = filter_input( INPUT_POST, "email");
|
310
|
+
|
311
|
+
$password = filter_input( INPUT_POST, "password");
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
$dbh = new PDO(DSN, getenv(DB_USER), DB_PASSWORD);
|
316
|
+
|
317
|
+
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
318
|
+
|
319
|
+
/*c_numberとidは別処理でインクリメントさせる予定なので、ここではわざとc_number=CP6とid=6で固定しています。*/
|
320
|
+
|
321
|
+
$stmt = $dbh->prepare('insert into BeginnersTech.Companies values ("CP6", "6", ?, ?, ?, ?, ?, ?)');
|
322
|
+
|
323
|
+
//疑問符プレースホルダへ挿入したい場合は、execute()の()内に変数を入れるだけで自動的にバインドされる。
|
324
|
+
|
325
|
+
$stmt->execute([$company_name,$assigned_person,$website,$phone,$email,$password]);
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
echo '企業名:'.$company_name.'</br>';
|
330
|
+
|
331
|
+
echo '担当者:'.$assigned_person.'</br>';
|
332
|
+
|
333
|
+
echo 'ウェブサイト:'.$website.'</br>';
|
334
|
+
|
335
|
+
echo '電話番号:'.$phone.'</br>';
|
336
|
+
|
337
|
+
echo 'メール'.$email.'</br>';
|
338
|
+
|
339
|
+
echo 'パスワード:'.$password.'</br>';
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
$company_name = "";
|
344
|
+
|
345
|
+
$assigned_person = "";
|
346
|
+
|
347
|
+
$website = "";
|
348
|
+
|
349
|
+
$phone = "";
|
350
|
+
|
351
|
+
$email = "";
|
352
|
+
|
353
|
+
$password = "";
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
echo "登録しました";
|
358
|
+
|
359
|
+
} catch (PDOException $e) {
|
360
|
+
|
361
|
+
print('Error:'.$e->getMessage());
|
362
|
+
|
363
|
+
echo "エラーが起きました";
|
364
|
+
|
365
|
+
echo $e->getMessage();
|
366
|
+
|
367
|
+
die();
|
368
|
+
|
369
|
+
}
|
370
|
+
|
371
|
+
}
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
?>
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
<!doctype html>
|
382
|
+
|
383
|
+
<html lang="ja">
|
384
|
+
|
385
|
+
<head>
|
386
|
+
|
387
|
+
<meta charset="UTF-8">
|
388
|
+
|
389
|
+
<title>Document</title>
|
390
|
+
|
391
|
+
</head>
|
392
|
+
|
393
|
+
<body>
|
394
|
+
|
395
|
+
<form action="" method="post">
|
396
|
+
|
397
|
+
<div>
|
398
|
+
|
399
|
+
<label for="cName">企業名</label>
|
400
|
+
|
401
|
+
<input type="text" id="cName" name="cName"/>
|
402
|
+
|
403
|
+
</div>
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
<div>
|
408
|
+
|
409
|
+
<label for="tanto">担当者の名前</label>
|
410
|
+
|
411
|
+
<input type="text" id="tanto" name="tanto"/>
|
412
|
+
|
413
|
+
</div>
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
<div>
|
418
|
+
|
419
|
+
<label for="website">企業のウェブサイト</label>
|
420
|
+
|
421
|
+
<input type="text" id="website" name="website"/>
|
422
|
+
|
423
|
+
</div>
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
<div>
|
428
|
+
|
429
|
+
<label for="tel">電話番号</label>
|
430
|
+
|
431
|
+
<input type="tel" id="tel" name="tel"/>
|
432
|
+
|
433
|
+
</div>
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
<div>
|
438
|
+
|
439
|
+
<label for="password">パスワード</label>
|
440
|
+
|
441
|
+
<input type="password" id="password" name="password"/>
|
442
|
+
|
443
|
+
</div>
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
<div>
|
448
|
+
|
449
|
+
<label for="email">メールアドレス</label>
|
450
|
+
|
451
|
+
<input type="email" id="email" name="email"/>
|
452
|
+
|
453
|
+
</div>
|
454
|
+
|
455
|
+
<input type="submit" value="登録"/>
|
456
|
+
|
457
|
+
</form>
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
</body>
|
464
|
+
|
465
|
+
</html>
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
```
|
2
個人情報漏洩に繋がる記載を編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
define('DSN', 'mysql:host=127.0.0.1;port=3306;dbname=
|
23
|
+
define('DSN', 'mysql:host=127.0.0.1;port=3306;dbname=mydb;charset=utf8;');
|
24
24
|
|
25
25
|
define('DB_USER', 'C9_USER');
|
26
26
|
|
@@ -104,7 +104,7 @@
|
|
104
104
|
|
105
105
|
|
106
106
|
|
107
|
-
define('DSN', 'mysql:host=127.0.0.1;port=3306;dbname=
|
107
|
+
define('DSN', 'mysql:host=127.0.0.1;port=3306;dbname=mydb;charset=utf8;');
|
108
108
|
|
109
109
|
define('DB_USER', 'C9_USER');
|
110
110
|
|
1
修正の指摘を受けて修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -46,6 +46,8 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
+
$dbh = new PDO(DSN, getenv(DB_USER), DB_PASSWORD);
|
50
|
+
|
49
51
|
/*c_numberとidは別処理でインクリメントさせるよていなので手動で入力、ここではわざとc_number=CP4とid=4で固定しています。*/
|
50
52
|
|
51
53
|
$stmt = $dbh->prepare('insert into BeginnersTech.Companies values ("CP4", "4", ?, ?, ?, ?, ?, ?)');
|