質問編集履歴

2

前職の社外秘の内容が含まれていたため、可能であれば投稿を削除してほしいです。

2024/03/25 09:04

投稿

tomotomo4322
tomotomo4322

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,108 +1,3 @@
1
1
  ### 前提
2
2
  Viewsフォルダにcontact.php, confirm.php, complete.php
3
- ControllersフォルダにContactControl.php
4
- ModelsフォルダにDb.phpをそれぞれ作成。
5
3
 
6
- confirm.phpにて送信ボタンがクリックされ、complete.phpに渡ってきた入力データをデータベースに保存したい。
7
- complete.php内にrequire_onceにてDb.phpを呼び出しています。
8
-
9
- ### 実現したいこと
10
- confirm.phpにて送信ボタンがクリックされ、complete.phpに渡ってきた入力データをデータベースに保存したい。
11
- ### 発生している問題・エラーメッセージ
12
- 処理自体は正常にできているようだが、phpmyadminのテーブルを確認すると入力内容が保存されていないです。
13
-
14
- 試しにDb.php内にて『echo $name;』及び『echo "接続成功";』と出力したところ、正常に画面に出力されたため、接続やconfirm.phpからの入力値自体は渡ってきているようです。
15
- ```
16
-
17
- ```
18
-
19
- ### 該当のソースコード
20
-
21
- ```complete.php
22
- <?php
23
- if ($_SERVER["REQUEST_METHOD"] != "POST") {
24
- header("Location: contact.php");
25
- exit();
26
- }
27
- ini_set('display_errors', "On");
28
-
29
- require_once(ROOT_PATH .'Models/Db.php');
30
- ConectDb();
31
-
32
-
33
-
34
- ?>
35
-
36
- <!DOCTYPE html>
37
- <html lang="ja">
38
- <head>
39
- <meta charset="utf-8">
40
- <title>お問い合わせ完了画面</title>
41
- <link rel="stylesheet" href="../public/css/style.css">
42
- </head>
43
- <body>
44
- <div class="container">
45
- <h1 class="contact_title">完了画面</h1>
46
- <div class="completeMessage">
47
- <h2>
48
- お問い合わせ内容を送信しました。<br>
49
- ありがとうございました。
50
- </h2>
51
- </div>
52
- <div><a href="index.php">トップ画面へ</a></div>
53
- </div>
54
- </body>
55
- ```
56
-
57
-
58
- ```Db.php
59
-
60
- function ConnectDb()
61
- {
62
- $dsn = 'mysql:host=localhost;dbname=casteria;charset=utf8';
63
- $user = 'root';
64
- $password = '';
65
-
66
- try {
67
- $dbh = new PDO($dsn, $user, $password);
68
- $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
69
- $dbh->beginTransaction();
70
-
71
- // $fullname = $_SESSION['fullname'];
72
- // $furigana = $_SESSION['furigana'];
73
- // $tellNumber = $_SESSION['tellNumber'];
74
- // $email = $_SESSION['email'];
75
- // $message = $_SESSION['message'];
76
-
77
- $fullname = $_POST['fullname'];
78
- $kana = $_POST['furigana'];
79
- $tel = $_POST['tellNumber'];
80
- $email = $_POST['email'];
81
- $body = $_POST['message'];
82
-
83
- $sql = "INSERT INTO contacts (fullname, kana, tel, email, body) VALUES (:fullname, :furigana, :tellNumber, :email, :message)";
84
- $stmt = $dbh->prepare($sql);
85
- $params = array(':fullname' => $fullname, 'furigana' => $kana, 'tellNumber' => $tel, 'email' => $email, 'message' => $body);
86
- $stmt->execute($params);
87
-
88
- echo "接続成功";
89
- echo $fullname;
90
- } catch (PDOException $e) {
91
- echo "接続失敗: " . $e->getMessage() . "\n";
92
- exit();
93
- }
94
- }
95
- ```
96
-
97
- ### 試したこと
98
- 『php データベース 保存されない』と検索したのですが、答えに辿り付けませんでした。
99
-
100
- ### 補足情報(FW/ツールのバージョンなど)
101
- 環境はMAMPを使用しています。
102
-
103
- phpmyadminのテーブルのスクショと完了画面のスクショを添付いたします。
104
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-17/051f0daa-5dcf-4611-9673-950b27a7f2ff.png)
105
-
106
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-17/7873d1f0-e3fe-4251-8e4c-9cfc8870e990.png)
107
- どうかよろしくお願いいたします。
108
-

1

誤字の修正

2023/01/17 10:56

投稿

tomotomo4322
tomotomo4322

スコア7

test CHANGED
File without changes
test CHANGED
@@ -57,7 +57,7 @@
57
57
 
58
58
  ```Db.php
59
59
 
60
- function ConectDb()
60
+ function ConnectDb()
61
61
  {
62
62
  $dsn = 'mysql:host=localhost;dbname=casteria;charset=utf8';
63
63
  $user = 'root';
@@ -81,9 +81,9 @@
81
81
  $body = $_POST['message'];
82
82
 
83
83
  $sql = "INSERT INTO contacts (fullname, kana, tel, email, body) VALUES (:fullname, :furigana, :tellNumber, :email, :message)";
84
- $stml = $dbh->prepare($sql);
84
+ $stmt = $dbh->prepare($sql);
85
85
  $params = array(':fullname' => $fullname, 'furigana' => $kana, 'tellNumber' => $tel, 'email' => $email, 'message' => $body);
86
- $stml->execute($params);
86
+ $stmt->execute($params);
87
87
 
88
88
  echo "接続成功";
89
89
  echo $fullname;