teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

ソースコード追加

2021/08/06 05:32

投稿

ananans
ananans

スコア2

title CHANGED
File without changes
body CHANGED
@@ -178,6 +178,23 @@
178
178
  </body>
179
179
  ```
180
180
 
181
+ ・const.php
182
+ ```php
183
+ <?php
184
+ $uploaddir = './drink_picture/';
185
+ $err_msg = [];
186
+ $complete_msg = [];
187
+
188
+ define('DB_HOST', '');
189
+ define('DB_USER', '');
190
+ define('DB_PASSWD', '');
191
+ define('DB_NAME', '');
192
+
193
+ define('HTML_CHARACTER_SET', 'UTF-8');
194
+ define('DB_CHARACTER_SET', 'UTF8');
195
+ date_default_timezone_set('Asia/Tokyo');
196
+ ```
197
+
181
198
  #試したこと
182
199
  tool2.phpのforeach文に
183
200
  ```php

4

ソースコード修正

2021/08/06 05:32

投稿

ananans
ananans

スコア2

title CHANGED
File without changes
body CHANGED
@@ -11,101 +11,7 @@
11
11
  ・functions.php
12
12
  ```php
13
13
  function insert_drink($link) {
14
- if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['sql_kind'] === 'insert') {
15
- if (isset($_POST['new_name']) === TRUE) {
16
- switch (TRUE) {
17
- case ($_POST['new_name'] === ''):
18
- $err_msg[] = '商品名を入力してください';
19
- break;
20
- case ($_POST['new_name'] === NULL);
21
- $err_msg[] = '商品名を入力してください';
22
- break;
23
- default:
24
- $new_name = $_POST['new_name'];
25
- break;
26
- }
27
- }
28
14
 
29
- if (isset($_POST['new_price']) === TRUE) {
30
-
31
- switch (TRUE) {
32
- case ($_POST['new_price'] === ''):
33
- $err_msg[] = '値段を入力してください';
34
- break;
35
- case ($_POST['new_price'] === NULL):
36
- $err_msg[] = '値段を入力してください';
37
- break;
38
- case (preg_match('/^[0-9]+$/', $_POST['new_price']) !== 1):
39
- $err_msg[] = '値段は0以上の半角整数を入力してください';
40
- break;
41
- default:
42
- $new_price = $_POST['new_price'];
43
- break;
44
- }
45
- }
46
-
47
- if (isset($_POST['new_stock']) === TRUE) {
48
-
49
- switch (TRUE) {
50
- case ($_POST['new_stock'] === ''):
51
- $err_msg[] = '個数を入力してください';
52
- break;
53
- case ($_POST['new_stock'] === NULL):
54
- $err_msg[] = '個数を入力してください';
55
- break;
56
- case (preg_match('/^[0-9]+$/', $_POST['new_stock']) !== 1):
57
- $err_msg[] = '在庫は0以上の半角整数を入力してください';
58
- break;
59
- default:
60
- $new_stock = $_POST['new_stock'];
61
- break;
62
- }
63
- }
64
-
65
- if ($_FILES['new_img']['error'] === UPLOAD_ERR_OK) {
66
-
67
-
68
-
69
- $chk_picture = getimagesize($_FILES['new_img']['tmp_name']);
70
-
71
- if ($chk_picture['mime'] === 'image/png' || $chk_picture['mime'] === 'image/jpeg') {
72
-
73
- if ($chk_picture[0] <= 500 && ($chk_picture[1] <= 500)) {
74
-
75
- $mime = $chk_picture['mime'];
76
- switch ($mime) {
77
- case 'image/png':
78
- $type = '.png';
79
- break;
80
- case 'image/jpeg':
81
- $type = '.jpg';
82
- break;
83
- }
84
-
85
-
86
- } else {
87
- $err_msg[] = 'ファイルは縦と横500px以内にしてください';
88
- }
89
- } else {
90
- $err_msg[] = 'PNGかJPEG形式のファイルをアップロードしてください';
91
- }
92
- }
93
- } else {
94
- $err_msg[] = 'ファイルを選択してください';
95
- }
96
-
97
-
98
- if (isset($_POST['new_status']) === TRUE) {
99
- if ((int) $_POST['new_status'] === 0 || (int) $_POST['new_status'] === 1) {
100
- $new_status = (int) $_POST['new_status'];
101
- } else {
102
- $err_msg[] = 'ステータスは公開か非公開を選択してください';
103
- }
104
- } else {
105
- $err_msg[] = 'ステータスを選択してください';
106
- }
107
-
108
-
109
15
  $new_time = date('Y-m-d H:i:s');
110
16
 
111
17
  $insert_data_info = [
@@ -141,6 +47,27 @@
141
47
  $complete_msg[] = '追加登録完了!';
142
48
  }
143
49
  ```
50
+ ・tool.php
51
+ ```php
52
+ <?php
53
+ require_once('../../include/model/functions.php');
54
+ require_once('../../include/conf/const.php');
55
+ require_once('../../include/view/tool2.php');
56
+
57
+ $data = [
58
+ 'drink_name' => '',
59
+ 'price' => '',
60
+ 'created_at' => '',
61
+ 'updated_at' => '',
62
+ 'status' => '',
63
+ ];
64
+ $link = get_db_connect();
65
+
66
+ $data = insert_drink($link);
67
+
68
+ close_db_connect($link);
69
+ ```
70
+
144
71
  ・tool2.php
145
72
  ```php
146
73
  <!DOCTYPE html>

3

ソースコード訂正

2021/08/06 05:28

投稿

ananans
ananans

スコア2

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,7 @@
8
8
  にもかかわらず、DBには登録されております。
9
9
  ![イメージ説明](1b72353d86f8ba824da3e7cafd47d311.png)
10
10
  ソースコード
11
- functions.php
11
+ functions.php
12
12
  ```php
13
13
  function insert_drink($link) {
14
14
  if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['sql_kind'] === 'insert') {
@@ -141,7 +141,7 @@
141
141
  $complete_msg[] = '追加登録完了!';
142
142
  }
143
143
  ```
144
- tool2.php
144
+ tool2.php
145
145
  ```php
146
146
  <!DOCTYPE html>
147
147
  <html lang="ja">

2

2021/08/06 05:03

投稿

ananans
ananans

スコア2

title CHANGED
File without changes
body CHANGED
@@ -9,32 +9,137 @@
9
9
  ![イメージ説明](1b72353d86f8ba824da3e7cafd47d311.png)
10
10
  ソースコード
11
11
  functions.php
12
+ ```php
12
- ![イメージ説明](02f00ca4e13144a0eb978e20b9172c93.png)
13
+ function insert_drink($link) {
13
- ![イメージ説明](c795f375684f3c4d7b4b30eac0aa17f4.png)
14
+ if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['sql_kind'] === 'insert') {
14
- ![イメージ説明](37fe5c5a5fc54a75c4cc68c1c42c1b6c.png)
15
- ![イメージ説明](3d5c0a7684773aabefe50eca271feb9f.png)
15
+ if (isset($_POST['new_name']) === TRUE) {
16
+ switch (TRUE) {
17
+ case ($_POST['new_name'] === ''):
18
+ $err_msg[] = '商品名を入力してください';
19
+ break;
16
- ![イメージ説明](df43f14e716f0fcd489e9600425302ab.png)
20
+ case ($_POST['new_name'] === NULL);
21
+ $err_msg[] = '商品名を入力してください';
22
+ break;
23
+ default:
17
- ![イメージ説明](150577286cb760b862cef516229d7807.png)
24
+ $new_name = $_POST['new_name'];
18
- ![イメージ説明](e4d41badf0d884b5761f0af763faf1e8.png)
25
+ break;
26
+ }
27
+ }
19
28
 
29
+ if (isset($_POST['new_price']) === TRUE) {
30
+
20
- tool.php
31
+ switch (TRUE) {
32
+ case ($_POST['new_price'] === ''):
33
+ $err_msg[] = '値段を入力してください';
21
- ```php
34
+ break;
35
+ case ($_POST['new_price'] === NULL):
36
+ $err_msg[] = '値段を入力してください';
22
- <?php
37
+ break;
23
- require_once('../../include/model/functions.php');
38
+ case (preg_match('/^[0-9]+$/', $_POST['new_price']) !== 1):
39
+ $err_msg[] = '値段は0以上の半角整数を入力してください';
40
+ break;
41
+ default:
42
+ $new_price = $_POST['new_price'];
43
+ break;
44
+ }
45
+ }
46
+
47
+ if (isset($_POST['new_stock']) === TRUE) {
48
+
49
+ switch (TRUE) {
50
+ case ($_POST['new_stock'] === ''):
51
+ $err_msg[] = '個数を入力してください';
52
+ break;
53
+ case ($_POST['new_stock'] === NULL):
54
+ $err_msg[] = '個数を入力してください';
55
+ break;
24
- require_once('../../include/conf/const.php');
56
+ case (preg_match('/^[0-9]+$/', $_POST['new_stock']) !== 1):
57
+ $err_msg[] = '在庫は0以上の半角整数を入力してください';
58
+ break;
59
+ default:
60
+ $new_stock = $_POST['new_stock'];
61
+ break;
62
+ }
63
+ }
64
+
65
+ if ($_FILES['new_img']['error'] === UPLOAD_ERR_OK) {
66
+
67
+
68
+
25
- require_once('../../include/view/tool2.php');
69
+ $chk_picture = getimagesize($_FILES['new_img']['tmp_name']);
70
+
71
+ if ($chk_picture['mime'] === 'image/png' || $chk_picture['mime'] === 'image/jpeg') {
72
+
73
+ if ($chk_picture[0] <= 500 && ($chk_picture[1] <= 500)) {
74
+
75
+ $mime = $chk_picture['mime'];
76
+ switch ($mime) {
77
+ case 'image/png':
78
+ $type = '.png';
79
+ break;
80
+ case 'image/jpeg':
81
+ $type = '.jpg';
82
+ break;
83
+ }
84
+
85
+
86
+ } else {
87
+ $err_msg[] = 'ファイルは縦と横500px以内にしてください';
88
+ }
89
+ } else {
90
+ $err_msg[] = 'PNGかJPEG形式のファイルをアップロードしてください';
91
+ }
92
+ }
93
+ } else {
94
+ $err_msg[] = 'ファイルを選択してください';
95
+ }
96
+
97
+
98
+ if (isset($_POST['new_status']) === TRUE) {
99
+ if ((int) $_POST['new_status'] === 0 || (int) $_POST['new_status'] === 1) {
100
+ $new_status = (int) $_POST['new_status'];
101
+ } else {
102
+ $err_msg[] = 'ステータスは公開か非公開を選択してください';
103
+ }
104
+ } else {
105
+ $err_msg[] = 'ステータスを選択してください';
106
+ }
107
+
108
+
109
+ $new_time = date('Y-m-d H:i:s');
110
+
26
- $data = [
111
+ $insert_data_info = [
27
- 'drink_name' => '',
112
+ 'drink_name' => $new_name,
28
- 'price' => '',
113
+ 'price' => $new_price,
29
- 'created_at' => '',
114
+ 'created_at' => $new_time,
30
- 'updated_at' => '',
115
+ 'updated_at' => $new_time,
31
- 'status' => '',
116
+ 'status' => $new_status
32
117
  ];
33
- $link = get_db_connect();
118
+ print_r($insert_data_info);
34
119
 
35
- $data = insert_drink($link);
120
+ $sql = 'INSERT INTO drink_info_table(drink_name, price, created_at, updated_at, status) VALUES(\''.$new_name.'\',\''.$new_price.'\',\''.$new_time.'\',\''.$new_time.'\',\''.$new_status.'\')';
36
121
 
122
+ if ($result = mysqli_query($link, $sql) === TRUE) {
123
+
37
- close_db_connect($link);
124
+ $drink_id = mysqli_insert_id($link);
125
+
126
+ $insert_data_stock = [
127
+ 'drink_id' => $drink_id,
128
+ 'stock' => $new_stock,
129
+ 'created_at' => $new_time,
130
+ 'updated_at' => $new_time
131
+ ];
132
+
133
+ $sql = 'INSERT INTO stock_table(drink_id, stock, created_at, updated_at) VALUES(\''.$drink_id.'\',\''.$new_stock.'\',\''.$new_time.'\',\''.$new_time.'\')';
134
+
135
+ if ($result = mysqli_query($link, $sql) !== TRUE) {
136
+ $err_msg[] = 'stock_tableへのデータの登録に失敗しました';
137
+ }
138
+ } else {
139
+ $err_msg[] = 'drink_info_tableへのデータの登録に失敗しました';
140
+ }
141
+ $complete_msg[] = '追加登録完了!';
142
+ }
38
143
  ```
39
144
  tool2.php
40
145
  ```php
@@ -146,25 +251,6 @@
146
251
  </body>
147
252
  ```
148
253
 
149
- const.php
150
- ```php
151
- <?php
152
- $uploaddir = './drink_picture/';
153
- $err_msg = [];
154
- $complete_msg = [];
155
-
156
- define('DB_HOST', '');
157
- define('DB_USER', '');
158
- define('DB_PASSWD', '');
159
- define('DB_NAME', '');
160
-
161
- define('HTML_CHARACTER_SET', 'UTF-8');
162
- define('DB_CHARACTER_SET', 'UTF8');
163
-
164
- date_default_timezone_set('Asia/Tokyo');
165
-
166
- </html>
167
- ```
168
254
  #試したこと
169
255
  tool2.phpのforeach文に
170
256
  ```php

1

一部訂正

2021/08/06 05:02

投稿

ananans
ananans

スコア2

title CHANGED
File without changes
body CHANGED
@@ -155,8 +155,8 @@
155
155
 
156
156
  define('DB_HOST', '');
157
157
  define('DB_USER', '');
158
- define('DB_PASSWD', 'codecamp46846');
158
+ define('DB_PASSWD', '');
159
- define('DB_NAME', 'codecamp46846');
159
+ define('DB_NAME', '');
160
160
 
161
161
  define('HTML_CHARACTER_SET', 'UTF-8');
162
162
  define('DB_CHARACTER_SET', 'UTF8');