プロが教える店舗&オフィスのセキュリティ対策術

●質問の主旨


check.phpファイルの最終行(</html>のところ)で
Parse error: syntax error, unexpected end of file
としてエラーが表示されます。

なぜエラー表示されるのでしょうか?ご存知の方ご教示願います。

(eclipseでもエラー表示されているのは分かりますが、
何がエラーなのか分かりません)


●状況


1.index.htmlのフォームに入力し、送信ボタンを押す
(添付画像)

2.check.phpに飛ばす

3.飛ばすとエラーが表示される

●環境

windows8
xammp1.8.1

●コード

(index.html)

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPの基礎</title>
</head>
<body>
<form method="post" action="check.php">
ニックネームを入力してください<br/>
<input name="nickname" type="text" style="width:100px"><br/>
メールアドレスを入力してください<br/>
<input name="email" type="text" style="width:200px"><br/>
ご意見を入力してください<br/>
<input name="goiken" type="text" style="width:300px"><br/>
<br/>
<input type="submit" value="送信">
</form>
</body>
</html>

(check.php)

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPの基礎</title>
</head>
<body>
<?php
$nickname = $_POST['nickname'];
$email = $_POST['email'];
$goiken = $_POST['goiken'];

if($nickname =='') {
print'ニックネームが入力されてません';
} else {
print'ようこそ!';
print $nickname;
print'様';
print'<br/>';
}

if($email =='') {
print'emailが入力されてません';

} else {

print'ようこそ!';
print $email;
print'<br/>';

if($goiken =='') {
print'ご意見が入力されてません';

} else {

print'ご意見';
print $goiken;
print'』<br/>';

}
?>
</body>
</html>

「なぜエラーが出るのか分からない(PHP)」の質問画像

A 回答 (4件)

syntax error は文法や構文にミスがあるときにでます。


「{}」の数があってなかったり、「;」が抜けてたりとか・・・・
で、

if($email =='') {
print'emailが入力されてません';

} else {

print'ようこそ!';
print $email;
print'<br/>';

のあとに閉じ}がないようです。
    • good
    • 0

この質問に対しての回答は2の人ので正解だと思います。



Eclipse使い始めたようなので、ちょっとアドバイス。

2の人も言ってるような、セミコロン忘れとかは、エラーの出てる行じゃなくて、次の行に出たりするので要注意。
括弧の閉じ忘れは 最終的に数が合わないってことで 一番最後に「エラーだよん」ってのが出る。

んで、カーソルを括弧とかに合わせると、それと対になる閉じ括弧にマークがつく。
そのマークが分かりづらいのがアレだけど。

あと CTRL+SHIFT+F で 自動でインデント入れてくれるので、if とかがネストした時に分かりやすくなる。
ただ、エラーが有るとやってくんない。

あと、1の人のに関しては、3の人の言ってることが正しいけど、言い方が良くないとは思う。
正直、俺はHTML5になってからついていけてない。
    • good
    • 0
この回答へのお礼

bm_hiroさま
ご回答ありがとうございます。

ご指摘のように、
回答NO.2で意図通り動かすことができました。

お礼日時:2013/03/26 17:08

<br>はhtml


<br/>はxhtml
での書き方。
で、今回のは
<!DOCTYPE html>
と宣言していることからhtml5となる。
html5においては<br>の書き方が正しい。
    • good
    • 0
この回答へのお礼

don_donto_koiさま
ご回答ありがとうございます。
回答NO.2で意図通り動かすことができました。

お礼日時:2013/03/26 17:07

<br>が<br/>というのが分からないのですが、


そういう風に書くものなんでしょうか?
    • good
    • 0
この回答へのお礼

ys_captainさま
ご回答ありがとうございます。
回答NO.2で意図通り動かすことができました。

お礼日時:2013/03/26 17:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!