質問編集履歴

1

セレクトボックスで選択毎と操作は出来たのですが、$num2に0を入力した際にエラーが出てしまいます。

2019/08/11 09:46

投稿

barusu4911
barusu4911

スコア2

test CHANGED
@@ -1 +1 @@
1
- 入力フォーム二つ用意し、入力されたデータを演算したいです。算術演算子(+-×÷)をセレクトボックスで選択します。
1
+ phpで簡易電卓作成中です。Notice: Undefined variable: answer とエラーが出ます。
test CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- phpで
5
+ phpで簡易電卓を作成しています。
6
6
 
7
- 入力フォームを2つ用意し、演算したいです。算術演算子はセレクトボックスで選択します。
7
+
8
8
 
9
9
 
10
10
 
@@ -16,9 +16,13 @@
16
16
 
17
17
  ```
18
18
 
19
- 入力フォームセレクトボックスまは作りした。
19
+ $num2に0を入力した際”分母計算せん”と表示をさせていますが、それと同時に
20
20
 
21
+ Notice: Undefined variable: answer in /home/www/satou179/calculate.php on line 27
22
+
23
+ と表示されます。
24
+
21
- 後にセレクトボックスで選択した算術演算子で演算する方法が知りたいです。
25
+ こちらエラーを解決したいです。
22
26
 
23
27
  ```
24
28
 
@@ -28,7 +32,69 @@
28
32
 
29
33
 
30
34
 
31
- ```php
35
+ <?php
36
+
37
+ $num1 = $_POST['number1'];
38
+
39
+ $num2 = $_POST['number2'];
40
+
41
+ $ope = $_POST['selope'];
42
+
43
+
44
+
45
+
46
+
47
+ switch($ope){
48
+
49
+ case"+":
50
+
51
+ $answer = $num1+$num2;
52
+
53
+ break;
54
+
55
+ case"-":
56
+
57
+ $answer = $num1-$num2;
58
+
59
+ break;
60
+
61
+ case"×":
62
+
63
+ $answer = $num1*$num2;
64
+
65
+ break;
66
+
67
+ case"÷":
68
+
69
+ if ($num2 == 0) {
70
+
71
+ echo "母数が0なので計算できません";
72
+
73
+ } else {
74
+
75
+ $answer = $num1/$num2;
76
+
77
+ }
78
+
79
+ break;
80
+
81
+ }
82
+
83
+
84
+
85
+ if (is_numeric($num1) && is_numeric($num2)) {
86
+
87
+ echo $answer;
88
+
89
+ } else {
90
+
91
+ echo '数字以外が含まれています';
92
+
93
+ }
94
+
95
+ ?>
96
+
97
+
32
98
 
33
99
  <!doctype html>
34
100
 
@@ -42,13 +108,13 @@
42
108
 
43
109
  <body>
44
110
 
45
- <form action="calculate.php" method="post">
111
+ <form name="form1" action="calculate.php" method="post">
46
112
 
47
113
  <p>
48
114
 
49
- <input type="text" name="number2">
115
+ <input type="text" name="number1">
50
116
 
51
- <select name="演算">
117
+ <select name="selope" size=1>
52
118
 
53
119
  <option value="+">+</option>
54
120
 
@@ -60,7 +126,7 @@
60
126
 
61
127
  </select>
62
128
 
63
- <input type="text" name="number1">
129
+ <input type="text" name="number2">
64
130
 
65
131
  <input type="submit" value="=">
66
132
 
@@ -71,23 +137,3 @@
71
137
  </body>
72
138
 
73
139
  </html>
74
-
75
-
76
-
77
- <?php
78
-
79
- $num1 = $_POST['number1'];
80
-
81
- $num2 = $_POST['number2'];
82
-
83
- if (is_numeric($num1) && is_numeric($num2)) {
84
-
85
- echo $num1 + $num2;
86
-
87
- } else {
88
-
89
- echo '数字以外が含まれています';
90
-
91
- }
92
-
93
- ?>