• ベストアンサー

エラー表示について

PHP初心者の波平と申します。 今PHP5、Mysqlを使ってDBの作成をしています。 この度のエラーメッセージの表示をスイッチ文を使ってエラーを表示したいのですがPHPの構文エラーで最後の行でParse error: syntax error,というエラーが出てしまいます。ドコがいけないんでしょうか?宜しくお願いします。 <?php $se_EMAIL="a"; $se_PWD = A; $se_POINT = 1210000; $P_EMAIL="a"; $P_PWD = A; $Pay1 = 3; $q_array=array(1=>"200000","500000","1000000"); //未入力項目がないか確認 if($P_EMAIL=="" || $P_PWD=="" ) { Error(1); } else { //入力したメアドとパスワードがセッションしてる物と同じか確認 if($se_EMAIL != $P_EMAIL) {Error(2);} elseif($se_PWD != $P_PWD) {Error(3);} //同じなら換金したいポイントをse_POINTからを引き$NEWPOINへ。 else{ if($Pay1 == 1) if($se_POINT >= 200000) {$NEWPOINT = $se_POINT-$q_array[$Pay1];} else {Error(4);} } ?> <html> <head> </head> <body> <br> $NEWPOINTの表示<br> 残りは<?= $NEWPOINT ?>ポイントです。<br> </body> </html> <?php function Error($error_type){ switch($error_type){ case 1: $error_msg = "未入力項目があります。"; break; case 2: $error_msg = "メールアドレスが違います。"; break; case 3: $error_msg = "パスワードが違います"; break; case 4: $error_msg = "ポイントが不足しています。"; break; } ?> <html> <head> </head> <body> **** エラー ****<br> <?= $error_msg ?><br> </body> </html> <?php exit; } ?>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

「//未入力項目がないか確認」から「?>」の間に、 「if($Pay1 == 1)」で{が一つ、終わりに}が二つ足りない気がします。 ヒアドキュメントを使えば、<?php ?>は減らせると思います。 また、PHPエディタでは構文チェックができますので参考まで。

senbee555
質問者

お礼

早速ありがとうございました。 PHPエディタは初心者でも使いこなせますか? 私は秀丸しか使ったことなかったので・・・ 参考までに聞かせていただければありがたいです。

その他の回答 (2)

回答No.3

print(まで入力するとコードヒントが出ますので、初心者でなくても便利かと。 また、printをマウスで選択し、F1キーを押すとprint関数リファレンスが表示されます。 プロジェクト単位での作業にはすぐ慣れると思います。 個人的には、バージョン管理機能が欲しいのと、文字コード変換は可能なのにウムラウトが入力出来ないのが不満。 そのかわり、unicode文章作成にはxyzzyを使っています。

  • limit004
  • ベストアンサー率33% (3/9)
回答No.1

//未入力項目がないか確認 if($P_EMAIL=="" || $P_PWD=="" ) { Error(1); } else { ← この括弧が閉じられていないからでは?

senbee555
質問者

お礼

早速ありがとうございます。希望の結果は出るようになりました。

関連するQ&A