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

回答編集履歴

2

記入漏れ

2016/12/20 08:01

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -120,4 +120,7 @@
120
120
  </html>
121
121
  ```
122
122
  最後に、22行目あたりに書いてある以下のコードはなんなのでしょうか?
123
- ここも必要であれば**適切な形に直さなければいけない**と思います。
123
+ ここも必要であれば**適切な形に直さなければいけない**と思います。
124
+ ```PHP
125
+ $ext != snbstr($fileName, -3);
126
+ ```

1

ちょっと読みやすく

2016/12/20 08:00

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  ```
3
3
  Parse error: syntax error, unexpected 'endif' (T_ENDIF), expecting end of file in PHPファイルのパス on line 54
4
4
  ```
5
- これは、本来あるべき文字がないときなどプログラムの構文が間違っているときに表示されるエラーです。
5
+ これは、本来あるべき文字がないときなど**プログラムの構文が間違っているとき**に表示されるエラーです。
6
6
  今回のプログラムは、HTML中に埋め込んだPHPで行っているif文処理の最後の部分をコロンに変更することで解決できます。
7
7
  補足
8
8
  ---
@@ -10,8 +10,8 @@
10
10
  ```
11
11
  Notice: Undefined variable: _error in PHPファイルのパス on line 52
12
12
  ```
13
- まずは上のようなエラー。これは未定義の変数が存在するときに表示されるエラーです。52行目あたりでは_errorという変数が定義されていましたが、これはerrorのタイプミスという扱いで修正します。
13
+ まずは上のようなエラー。これは**未定義の変数が存在する**ときに表示されるエラーです。52行目あたりでは_errorという変数が定義されていましたが、これはerrorのタイプミスという扱いで修正します。
14
- すると、今度は上と似たようなエラーがまた表示されます。これは、errorという変数はどこでも定義されていないというエラーなので、errorという配列を定義することでこのエラーは解決するはずです。ちなみに、if文のなかで変数を定義しても、そのif文の中身が実行されない場合その変数は存在しないことになるので、注意が必要です。
14
+ すると、今度は上と似たようなエラーがまた表示されます。これは、errorという変数はどこでも定義されていないというエラーなので、**errorという配列を定義する**ことでこのエラーは解決するはずです。ちなみに、if文のなかで変数を定義しても、そのif文の中身が実行されない場合その変数は存在しないことになるので、注意が必要です。
15
15
  また、下のようなエラーが表示されます。
16
16
  ```
17
17
  Notice: Undefined index: email in PHPファイルのパス on line 62
@@ -19,7 +19,10 @@
19
19
  Notice: Undefined index: password in PHPファイルのパス on line 74
20
20
  Notice: Undefined index: image in PHPファイルのパス on line 82
21
21
  ```
22
- $error['email']、$error['password']、$error['image']なんてものは存在しないというエラーです。これは、$error['email']、$error['password']、$error['image']がHTML中に埋め込んだif文の中で定義されていることが原因です。このエラーが発生している行をみるとHTML中に埋め込んだエラー表示のif文があります。このエラー表示をする場面は、if文中でエラーメッセージを入れる変数が定義されて、エラーメッセージが代入されたときだけなので、$error['email']、$error['password']、$error['image']が定義されているかどうかを確認することで解決することができます。
22
+ $error['email']、$error['password']、$error['image']なんてものは存在しないというエラーです。
23
+ これは、$error['email']、$error['password']、$error['image']が**HTML中に埋め込んだif文の中で定義されている**ことが原因です。このエラーが発生している行をみるとHTML中に埋め込んだエラー表示のif文があります。
24
+ このエラー表示をする場面は、if文中でエラーメッセージを入れる**変数が定義**されて、エラーメッセージが代入されたときだけなので、$error['email']、$error['password']、$error['image']が**定義されているかどうかを確認する**ことで解決することができます。
25
+ また、errorという配列を定義するということを行いましたが、上の修正を行い$error['email']、$error['password']、$error['image']が定義されているかを確認している場合はerrorという配列を定義している箇所を消しても**動きます**。
23
26
  以上をまとめると、コードは以下のようになります。
24
27
  ```PHP
25
28
  <?php
@@ -117,4 +120,4 @@
117
120
  </html>
118
121
  ```
119
122
  最後に、22行目あたりに書いてある以下のコードはなんなのでしょうか?
120
- ここも必要であれば適切な形に直さなければいけないと思います。
123
+ ここも必要であれば**適切な形に直さなければいけない**と思います。