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

質問編集履歴

6

タイトルを明確にした

2019/02/26 01:18

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
@@ -1,1 +1,1 @@
1
- progate PHPⅡ教材で不明な部分がありご教授お願します。
1
+ INPUTタグ POSTメソッド使方について
body CHANGED
File without changes

5

文章内容の変更

2019/02/26 01:17

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
  ```
9
- $menu->getNumの数値(例:2)が反映されません。おそらくクラス部分のgetNum()メソッドに何か不備ががあるのですが、それを発見する方法が分かりません。何かアドバイスや修正できる点など教えていただけましたら幸いです。
9
+
10
10
  ```
11
11
 
12
12
  ### 該当のソースコード
@@ -14,7 +14,6 @@
14
14
  <?php
15
15
  class Menu {
16
16
  private $name;
17
- private $num = 0;
18
17
  private $price;
19
18
  private $image;
20
19
  private $orderCount = 0;
@@ -49,10 +48,6 @@
49
48
  return floor($this->price * 1.08);
50
49
  }
51
50
 
52
- public function getNum(){
53
- return $this->num;
54
- }
55
-
56
51
  }
57
52
  ?>
58
53
  ```
@@ -70,9 +65,9 @@
70
65
  ?>
71
66
 
72
67
  ```
73
- ```index.php
74
- <?php require_once('data.php') ?>
75
68
 
69
+ ```<?php require_once('data.php') ?>
70
+
76
71
  <!DOCTYPE html>
77
72
  <html>
78
73
  <head>
@@ -91,7 +86,7 @@
91
86
  <img src="<?php echo $menu->getImage() ?>" class="menu-item-image">
92
87
  <h3 class="menu-item-name"><?php echo $menu->getName() ?></h3>
93
88
  <p class="price">¥<?php echo $menu->getTaxIncludedPrice() ?>(税込)</p>
94
- <input type="text" value="0" name="<?php echo $menu->getNum() ?>">
89
+ <input type="text" value="0" name="<?php echo $menu->getName() ?>">
95
90
  <span>個</span>
96
91
  </div>
97
92
  <?php endforeach ?>
@@ -121,7 +116,7 @@
121
116
  <h2>注文内容確認</h2>
122
117
  <?php foreach ($menus as $menu): ?>
123
118
  <!-- 変数$orderCountに$_POSTで受け取った値を代入してください -->
124
- <?php $orderCount=$_POST[$menu->getNum()]?>
119
+ <?php $orderCount = $_POST[$menu->getName()] ?>
125
120
  <p class="order-amount">
126
121
  <!-- ここに、$menuのゲッターを用いてnameプロパティを表示してください -->
127
122
  <?php echo $menu->getName() ?>
@@ -138,7 +133,7 @@
138
133
 
139
134
  ### 試したこと
140
135
 
141
- 試しにMenuクラスで商品の数private $num=0を定義し、
136
+ また上のソースコードにはないのですが、試しにMenuクラスで商品の数private $num=0を定義し、
142
137
 
143
138
  public function getNum(){return $this->num}
144
139
 
@@ -148,10 +143,10 @@
148
143
 
149
144
  <?php $orderCount=$_POST[$menu->getName()]?>
150
145
 
151
- としたところ、$menu->$getNum()を$menu->$getNameに代入したところ、数値が0のまま変わりませんでした。![イメージ説明](c60e6aeb673787a73073cc02d3864b5f.png)
146
+ とし、$menu->$getNum()を$menu->$getNameに代入したところ、数値が0のまま変わりませんでした。![イメージ説明](c60e6aeb673787a73073cc02d3864b5f.png)
152
147
  ![イメージ説明](69cffb4c9cd31613fb5edea656195a51.png)
153
148
 
154
- 右側画面は上ソーの一部です。
149
+ $menu->getNum数値(例:2)が反映されません。おそらくクラス部分のgetNum()メソッドに何か不備ががあるのですが、それを発見する方法が分かりません何かアドバイスや修正できる点など教えていただけましたら幸いです。
155
150
 
156
151
  ### 補足情報(FW/ツールのバージョンなど)
157
152
 

4

書式の改善

2019/02/25 14:53

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
  ```
9
- $menu->getNameは商品名前(例:'CURRY')であるはずなのに、教材では$menu->getName()に数値(例:2)を入ていしたなぜ$menu->getName()商品名は商品名を表すものなのも関わらず、数値ことができるのでょうか?
9
+ $menu->getNumの数値(例:2)が反映されませんおそらくクラス部分のgetNum()メソッド何か不備があのです、それを発見する方法が分かりません。何かアドバイスや修正できる点など教えていただけまたら幸いです。
10
10
  ```
11
11
 
12
12
  ### 該当のソースコード

3

見難かったので修正しました

2019/02/25 13:55

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
File without changes
body CHANGED
@@ -14,6 +14,7 @@
14
14
  <?php
15
15
  class Menu {
16
16
  private $name;
17
+ private $num = 0;
17
18
  private $price;
18
19
  private $image;
19
20
  private $orderCount = 0;
@@ -48,6 +49,10 @@
48
49
  return floor($this->price * 1.08);
49
50
  }
50
51
 
52
+ public function getNum(){
53
+ return $this->num;
54
+ }
55
+
51
56
  }
52
57
  ?>
53
58
  ```
@@ -63,6 +68,7 @@
63
68
  $menus = array($juice, $coffee, $curry, $pasta);
64
69
 
65
70
  ?>
71
+
66
72
  ```
67
73
  ```index.php
68
74
  <?php require_once('data.php') ?>
@@ -85,9 +91,7 @@
85
91
  <img src="<?php echo $menu->getImage() ?>" class="menu-item-image">
86
92
  <h3 class="menu-item-name"><?php echo $menu->getName() ?></h3>
87
93
  <p class="price">¥<?php echo $menu->getTaxIncludedPrice() ?>(税込)</p>
88
-
89
- <input type="text" value="0" name="<?php echo $menu->getName() ?>">
94
+ <input type="text" value="0" name="<?php echo $menu->getNum() ?>">
90
-
91
95
  <span>個</span>
92
96
  </div>
93
97
  <?php endforeach ?>
@@ -99,6 +103,8 @@
99
103
  </html>
100
104
 
101
105
  ```
106
+
107
+
102
108
  ```confirm.php
103
109
  <?php require_once('data.php') ?>
104
110
 
@@ -115,7 +121,7 @@
115
121
  <h2>注文内容確認</h2>
116
122
  <?php foreach ($menus as $menu): ?>
117
123
  <!-- 変数$orderCountに$_POSTで受け取った値を代入してください -->
118
- <?php $orderCount=$_POST[$menu->getName()]?>
124
+ <?php $orderCount=$_POST[$menu->getNum()]?>
119
125
  <p class="order-amount">
120
126
  <!-- ここに、$menuのゲッターを用いてnameプロパティを表示してください -->
121
127
  <?php echo $menu->getName() ?>

2

画像などの追加

2019/02/25 13:45

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
File without changes
body CHANGED
@@ -132,18 +132,21 @@
132
132
 
133
133
  ### 試したこと
134
134
 
135
- 試しにMenuクラスで商品の数private $numを定義し、
135
+ 試しにMenuクラスで商品の数private $num=0を定義し、
136
136
 
137
137
  public function getNum(){return $this->num}
138
138
 
139
139
  を作り、
140
140
 
141
- <input type="text" value="0" name="<?php echo $menu->getNum() ?>">
141
+ <input type="text" value="0" name="<?php echo $menu->getName() ?>">
142
142
 
143
- <?php $orderCount=$_POST[$menu->getNum()]?>
143
+ <?php $orderCount=$_POST[$menu->getName()]?>
144
144
 
145
+ としたところ、$menu->$getNum()を$menu->$getNameに代入したところ、数値が0のまま変わりませんでした。![イメージ説明](c60e6aeb673787a73073cc02d3864b5f.png)
145
- としたところエラになってしまいました
146
+ ![イメジ説明](69cffb4c9cd31613fb5edea656195a51.png)
146
147
 
148
+ 右側画面は上のソースの一部です。
149
+
147
150
  ### 補足情報(FW/ツールのバージョンなど)
148
151
 
149
152
  ここにより詳細な情報を記載してください。

1

見難かったので修正しました

2019/02/25 13:34

投稿

Toshinori23
Toshinori23

スコア19

title CHANGED
File without changes
body CHANGED
@@ -6,14 +6,12 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
  ```
9
- $menu->getNameは商品の名前(例:'CURRY')であるはずなのに、教材では$menu->getName()に数値(例:2)を入れていました。なぜ$menu->getName()商品名は商品名を表すものなのにも関わらず、数値が入ることができるのでしょうか?関連がありそうなところを太文字で表示しました。
9
+ $menu->getNameは商品の名前(例:'CURRY')であるはずなのに、教材では$menu->getName()に数値(例:2)を入れていました。なぜ$menu->getName()商品名は商品名を表すものなのにも関わらず、数値が入ることができるのでしょうか?
10
10
  ```
11
11
 
12
12
  ### 該当のソースコード
13
-
14
- PHP```ここに言語名を入力 
13
+ ```menu.php
15
- ソースコード
16
- ```<?php
14
+ <?php
17
15
  class Menu {
18
16
  private $name;
19
17
  private $price;
@@ -30,9 +28,9 @@
30
28
  echo '私は'.$this->name.'です';
31
29
  }
32
30
 
33
- **public function getName() {
31
+ public function getName() {
34
32
  return $this->name;
35
- }**
33
+ }
36
34
 
37
35
  public function getImage() {
38
36
  return $this->image;
@@ -52,11 +50,12 @@
52
50
 
53
51
  }
54
52
  ?>
55
-
53
+ ```
54
+ ```date.php
56
55
  <?php
57
56
  require_once('menu.php');
58
57
 
59
- $juice = new Menu('JUICE', 600, 'https://s3-ap-northeast- 1.amazonaws.com/progate/shared/images/lesson/php/juice.png');
58
+ $juice = new Menu('JUICE', 600, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/juice.png');
60
59
  $coffee = new Menu('COFFEE', 500, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/coffee.png');
61
60
  $curry = new Menu('CURRY', 900, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/curry.png');
62
61
  $pasta = new Menu('PASTA', 1200, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/pasta.png');
@@ -64,7 +63,8 @@
64
63
  $menus = array($juice, $coffee, $curry, $pasta);
65
64
 
66
65
  ?>
67
-
66
+ ```
67
+ ```index.php
68
68
  <?php require_once('data.php') ?>
69
69
 
70
70
  <!DOCTYPE html>
@@ -85,7 +85,9 @@
85
85
  <img src="<?php echo $menu->getImage() ?>" class="menu-item-image">
86
86
  <h3 class="menu-item-name"><?php echo $menu->getName() ?></h3>
87
87
  <p class="price">¥<?php echo $menu->getTaxIncludedPrice() ?>(税込)</p>
88
+
88
- **<input type="text" value="0" name="<?php echo $menu->getName() ?>">**
89
+ <input type="text" value="0" name="<?php echo $menu->getName() ?>">
90
+
89
91
  <span>個</span>
90
92
  </div>
91
93
  <?php endforeach ?>
@@ -96,6 +98,8 @@
96
98
  </body>
97
99
  </html>
98
100
 
101
+ ```
102
+ ```confirm.php
99
103
  <?php require_once('data.php') ?>
100
104
 
101
105
  <!DOCTYPE html>
@@ -110,10 +114,13 @@
110
114
  <div class="order-wrapper">
111
115
  <h2>注文内容確認</h2>
112
116
  <?php foreach ($menus as $menu): ?>
117
+ <!-- 変数$orderCountに$_POSTで受け取った値を代入してください -->
113
- **<?php $orderCount=$_POST[$menu->getName()]?>**
118
+ <?php $orderCount=$_POST[$menu->getName()]?>
114
119
  <p class="order-amount">
120
+ <!-- ここに、$menuのゲッターを用いてnameプロパティを表示してください -->
115
121
  <?php echo $menu->getName() ?>
116
122
  x
123
+ <!-- ここに、$orderCountを表示してください -->
117
124
  <?php echo $orderCount ?>
118
125
 
119
126
  </p>
@@ -121,6 +128,8 @@
121
128
  </div>
122
129
  </body>
123
130
  </html>
131
+ ```
132
+
124
133
  ### 試したこと
125
134
 
126
135
  試しにMenuクラスで商品の数private $numを定義し、