回答編集履歴

2

記入漏れ

2016/12/20 08:01

投稿

s8_chu
s8_chu

スコア14731

test CHANGED
@@ -243,3 +243,9 @@
243
243
  最後に、22行目あたりに書いてある以下のコードはなんなのでしょうか?
244
244
 
245
245
  ここも必要であれば**適切な形に直さなければいけない**と思います。
246
+
247
+ ```PHP
248
+
249
+ $ext != snbstr($fileName, -3);
250
+
251
+ ```

1

ちょっと読みやすく

2016/12/20 08:00

投稿

s8_chu
s8_chu

スコア14731

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```
8
8
 
9
- これは、本来あるべき文字がないときなどプログラムの構文が間違っているときに表示されるエラーです。
9
+ これは、本来あるべき文字がないときなど**プログラムの構文が間違っているとき**に表示されるエラーです。
10
10
 
11
11
  今回のプログラムは、HTML中に埋め込んだPHPで行っているif文処理の最後の部分をコロンに変更することで解決できます。
12
12
 
@@ -22,9 +22,9 @@
22
22
 
23
23
  ```
24
24
 
25
- まずは上のようなエラー。これは未定義の変数が存在するときに表示されるエラーです。52行目あたりでは_errorという変数が定義されていましたが、これはerrorのタイプミスという扱いで修正します。
25
+ まずは上のようなエラー。これは**未定義の変数が存在する**ときに表示されるエラーです。52行目あたりでは_errorという変数が定義されていましたが、これはerrorのタイプミスという扱いで修正します。
26
-
26
+
27
- すると、今度は上と似たようなエラーがまた表示されます。これは、errorという変数はどこでも定義されていないというエラーなので、errorという配列を定義することでこのエラーは解決するはずです。ちなみに、if文のなかで変数を定義しても、そのif文の中身が実行されない場合その変数は存在しないことになるので、注意が必要です。
27
+ すると、今度は上と似たようなエラーがまた表示されます。これは、errorという変数はどこでも定義されていないというエラーなので、**errorという配列を定義する**ことでこのエラーは解決するはずです。ちなみに、if文のなかで変数を定義しても、そのif文の中身が実行されない場合その変数は存在しないことになるので、注意が必要です。
28
28
 
29
29
  また、下のようなエラーが表示されます。
30
30
 
@@ -40,7 +40,13 @@
40
40
 
41
41
  ```
42
42
 
43
- $error['email']、$error['password']、$error['image']なんてものは存在しないというエラーです。これは、$error['email']、$error['password']、$error['image']がHTML中に埋め込んだif文の中で定義されていることが原因です。このエラーが発生している行をみるとHTML中に埋め込んだエラー表示のif文があります。このエラー表示をする場面は、if文中でエラーメッセージを入れる変数が定義されて、エラーメッセージが代入されたときだけなので、$error['email']、$error['password']、$error['image']が定義されているかどうかを確認することで解決することができます。
43
+ $error['email']、$error['password']、$error['image']なんてものは存在しないというエラーです。
44
+
45
+ これは、$error['email']、$error['password']、$error['image']が**HTML中に埋め込んだif文の中で定義されている**ことが原因です。このエラーが発生している行をみるとHTML中に埋め込んだエラー表示のif文があります。
46
+
47
+ このエラー表示をする場面は、if文中でエラーメッセージを入れる**変数が定義**されて、エラーメッセージが代入されたときだけなので、$error['email']、$error['password']、$error['image']が**定義されているかどうかを確認する**ことで解決することができます。
48
+
49
+ また、errorという配列を定義するということを行いましたが、上の修正を行い$error['email']、$error['password']、$error['image']が定義されているかを確認している場合はerrorという配列を定義している箇所を消しても**動きます**。
44
50
 
45
51
  以上をまとめると、コードは以下のようになります。
46
52
 
@@ -236,4 +242,4 @@
236
242
 
237
243
  最後に、22行目あたりに書いてある以下のコードはなんなのでしょうか?
238
244
 
239
- ここも必要であれば適切な形に直さなければいけないと思います。
245
+ ここも必要であれば**適切な形に直さなければいけない**と思います。