質問編集履歴

4

code機能追加しました。

2020/06/08 08:36

投稿

ireina
ireina

スコア1

test CHANGED
File without changes
test CHANGED
@@ -18,102 +18,110 @@
18
18
 
19
19
  情報追加用
20
20
 
21
+ ```<?php
22
+
23
+ $user="suzuki";
24
+
25
+ $pass="Suzuki8";
26
+
27
+ $recipe_name=$_POST['recipe_name'];
28
+
29
+ $howto=$_POST['howto'];
30
+
31
+ $category=(int)$_POST['category'];
32
+
33
+ $difficulty=(int)$_POST['difficulty'];
34
+
35
+ $budget=(int)$_POST['budget'];
36
+
37
+ try{
38
+
39
+ $dbh = new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
40
+
41
+ $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
42
+
43
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
44
+
45
+ $sql = "INSERT INTO recipes (recipe_name,category, difficulty, budget, howto) VALUES (?,?,?,?,?)";
46
+
47
+ $stmt = $dbh->prepare($sql);
48
+
49
+ $stmt->bindValue(1, $recipe_name, PDO::PARAM_STR);
50
+
51
+ $stmt->bindValue(2, $category, PDO::PARAM_INT);
52
+
53
+ $stmt->bindValue(3, $difficulty, PDO::PARAM_INT);
54
+
55
+ $stmt->bindValue(4, $budget, PDO::PARAM_INT);
56
+
57
+ $stmt->bindValue(5, $howto, PDO::PARAM_STR);
58
+
59
+ $stmt->execute();
60
+
61
+ $dbh=null;
62
+
63
+ echo "レシピの登録が完了しました。";
64
+
65
+ } catch (EXCEPTION $e){
66
+
67
+ echo "" . htmlspecialchars($e->getMessage(), ENT_QUOTES,'UTF-8') . "<br>";
68
+
69
+ die();
70
+
71
+ }
72
+
73
+ ?>
74
+
75
+ ```
76
+
77
+
78
+
79
+
80
+
81
+ 情報読み込み・編集用
82
+
83
+
84
+
85
+ ```
86
+
21
87
  <?php
22
88
 
23
89
  $user="suzuki";
24
90
 
25
91
  $pass="Suzuki8";
26
92
 
27
- $recipe_name=$_POST['recipe_name'];
28
-
29
- $howto=$_POST['howto'];
30
-
31
- $category=(int)$_POST['category'];
32
-
33
- $difficulty=(int)$_POST['difficulty'];
34
-
35
- $budget=(int)$_POST['budget'];
36
-
37
93
  try{
38
94
 
95
+ if(empty($_GET['id'])) throw new Exception('ID不正');
96
+
97
+ $id=(int)$_GET['id'];
98
+
39
- $dbh = new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
99
+ $dbh=new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
40
100
 
41
101
  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
42
102
 
43
103
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
44
104
 
45
- $sql = "INSERT INTO recipes (recipe_name,category, difficulty, budget, howto) VALUES (?,?,?,?,?)";
105
+ $sql="SELECT * FROM recipes WHERE id = ?";
46
-
106
+
47
- $stmt = $dbh->prepare($sql);
107
+ $stmt=$dbh->prepare($sql);
48
-
49
- $stmt->bindValue(1, $recipe_name, PDO::PARAM_STR);
108
+
50
-
51
- $stmt->bindValue(2, $category, PDO::PARAM_INT);
52
-
53
- $stmt->bindValue(3, $difficulty, PDO::PARAM_INT);
54
-
55
- $stmt->bindValue(4, $budget, PDO::PARAM_INT);
109
+ $stmt->bindValue(1,$id,PDO::PARAM_INT);
56
-
57
- $stmt->bindValue(5, $howto, PDO::PARAM_STR);
58
110
 
59
111
  $stmt->execute();
60
112
 
113
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
114
+
61
115
  $dbh=null;
62
116
 
63
- echo "レシピの登録が完了しました。";
64
-
65
117
  } catch (EXCEPTION $e){
66
118
 
67
- echo "" . htmlspecialchars($e->getMessage(), ENT_QUOTES,'UTF-8') . "<br>";
119
+ echo "" . htmlspecialchars($e->getMessage(),ENT_QUOTES,'UTF-8') . "<br>";
68
-
120
+
69
- die();
121
+ die();
70
122
 
71
123
  }
72
124
 
73
-
74
-
75
-
76
-
77
- 情報読み込み・編集用
78
-
79
- <?php
80
-
81
- $user="suzuki";
82
-
83
- $pass="Suzuki8";
84
-
85
- try{
86
-
87
- if(empty($_GET['id'])) throw new Exception('ID不正');
88
-
89
- $id=(int)$_GET['id'];
90
-
91
- $dbh=new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
92
-
93
- $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
94
-
95
- $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
96
-
97
- $sql="SELECT * FROM recipes WHERE id = ?";
98
-
99
- $stmt=$dbh->prepare($sql);
100
-
101
- $stmt->bindValue(1,$id,PDO::PARAM_INT);
102
-
103
- $stmt->execute();
104
-
105
- $result = $stmt->fetch(PDO::FETCH_ASSOC);
106
-
107
- $dbh=null;
108
-
109
- } catch (EXCEPTION $e){
110
-
111
- echo "" . htmlspecialchars($e->getMessage(),ENT_QUOTES,'UTF-8') . "<br>";
112
-
113
- die();
114
-
115
- }
116
-
117
125
  ?>
118
126
 
119
127
  <!DOCTYPE html>
@@ -184,6 +192,8 @@
184
192
 
185
193
  </html>
186
194
 
195
+ ```
196
+
187
197
 
188
198
 
189
199
  var_dump($result['category']);の結果

3

categoryの内容を追加しました

2020/06/08 08:36

投稿

ireina
ireina

スコア1

test CHANGED
File without changes
test CHANGED
@@ -186,6 +186,14 @@
186
186
 
187
187
 
188
188
 
189
+ var_dump($result['category']);の結果
190
+
191
+
192
+
193
+ int(1)
194
+
195
+
196
+
189
197
 
190
198
 
191
199
 

2

情報追加の際のコードも載せました。他に必要な情報があれば教えていただけると助かります。

2020/06/08 08:13

投稿

ireina
ireina

スコア1

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,66 @@
15
15
 
16
16
 
17
17
  ### 該当のソースコード
18
+
19
+ 情報追加用
20
+
21
+ <?php
22
+
23
+ $user="suzuki";
24
+
25
+ $pass="Suzuki8";
26
+
27
+ $recipe_name=$_POST['recipe_name'];
28
+
29
+ $howto=$_POST['howto'];
30
+
31
+ $category=(int)$_POST['category'];
32
+
33
+ $difficulty=(int)$_POST['difficulty'];
34
+
35
+ $budget=(int)$_POST['budget'];
36
+
37
+ try{
38
+
39
+ $dbh = new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
40
+
41
+ $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
42
+
43
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
44
+
45
+ $sql = "INSERT INTO recipes (recipe_name,category, difficulty, budget, howto) VALUES (?,?,?,?,?)";
46
+
47
+ $stmt = $dbh->prepare($sql);
48
+
49
+ $stmt->bindValue(1, $recipe_name, PDO::PARAM_STR);
50
+
51
+ $stmt->bindValue(2, $category, PDO::PARAM_INT);
52
+
53
+ $stmt->bindValue(3, $difficulty, PDO::PARAM_INT);
54
+
55
+ $stmt->bindValue(4, $budget, PDO::PARAM_INT);
56
+
57
+ $stmt->bindValue(5, $howto, PDO::PARAM_STR);
58
+
59
+ $stmt->execute();
60
+
61
+ $dbh=null;
62
+
63
+ echo "レシピの登録が完了しました。";
64
+
65
+ } catch (EXCEPTION $e){
66
+
67
+ echo "" . htmlspecialchars($e->getMessage(), ENT_QUOTES,'UTF-8') . "<br>";
68
+
69
+ die();
70
+
71
+ }
72
+
73
+
74
+
75
+
76
+
77
+ 情報読み込み・編集用
18
78
 
19
79
  <?php
20
80
 

1

全文追加させていただきました。教材丸写しの段階なのであまり理解できていません。必要な部分を指摘していただけたら追加します。

2020/06/08 07:53

投稿

ireina
ireina

スコア1

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,69 @@
16
16
 
17
17
  ### 該当のソースコード
18
18
 
19
+ <?php
20
+
21
+ $user="suzuki";
22
+
23
+ $pass="Suzuki8";
24
+
25
+ try{
26
+
27
+ if(empty($_GET['id'])) throw new Exception('ID不正');
28
+
29
+ $id=(int)$_GET['id'];
30
+
31
+ $dbh=new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
32
+
33
+ $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
34
+
35
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
36
+
37
+ $sql="SELECT * FROM recipes WHERE id = ?";
38
+
39
+ $stmt=$dbh->prepare($sql);
40
+
41
+ $stmt->bindValue(1,$id,PDO::PARAM_INT);
42
+
43
+ $stmt->execute();
44
+
45
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
46
+
47
+ $dbh=null;
48
+
49
+ } catch (EXCEPTION $e){
50
+
51
+ echo "" . htmlspecialchars($e->getMessage(),ENT_QUOTES,'UTF-8') . "<br>";
52
+
53
+ die();
54
+
55
+ }
56
+
57
+ ?>
58
+
59
+ <!DOCTYPE html>
60
+
61
+ <html lang="ja">
62
+
63
+ <head>
64
+
65
+ <meta charset="utf-8">
66
+
67
+ <title>入力フォーム</title>
68
+
69
+ </head>
70
+
71
+ <body>
72
+
73
+ レシピの投稿<br>
74
+
75
+ <form method="post" action="update.php">
76
+
77
+ 料理名:<input type="text" name="recipe_name" value="<?php echo htmlspecialchars($result['recipe_name'],ENT_QUOTES,'UTF-8'); ?>">
78
+
79
+ <br>
80
+
19
- カテゴリ:
81
+ カテゴリ:
20
82
 
21
83
  <select name="category">
22
84
 
@@ -29,6 +91,38 @@
29
91
  <option value="3" <?php if ($result['category'] === 3) echo "selected" ?>>洋食</option>
30
92
 
31
93
  </select>
94
+
95
+ <br>
96
+
97
+ 難易度:
98
+
99
+ <input type="radio" name="difficulty" value="1" <?php if ($result['difficulty']===1) echo "checked" ?>>簡単
100
+
101
+ <input type="radio" name="difficulty" value="2" <?php if ($result['difficulty']===2) echo "checked" ?>>普通
102
+
103
+ <input type="radio" name="difficulty" value="3" <?php if ($result['difficulty']===3) echo "checked" ?>>難しい
104
+
105
+ <br>
106
+
107
+ 予算:<input type="budget" name="howto" value="<?php echo htmlspecialchars($result['budget'],ENT_QUOTES,'UTF-8');?>">円
108
+
109
+ <br>
110
+
111
+ 作り方:
112
+
113
+ <textarea name="howto" cols="40" rows="4" maxlength="150"><?php echo htmlspecialchars($result['howto'],ENT_QUOTES,'UTF-8');?></textarea>
114
+
115
+ <br>
116
+
117
+ <input type="hidden" name="id" value="<?php echo htmlspecialchars($result['id'],ENT_QUOTES,'UTF-8'); ?>">
118
+
119
+ <input type="submit" value="送信">
120
+
121
+ </form>
122
+
123
+ </body>
124
+
125
+ </html>
32
126
 
33
127
 
34
128