phpのエラー(T_LNUMBER)について

このQ&Aのポイント
  • phpのエラー(T_LNUMBER)が発生しました。エラーメッセージは「Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /..../..../result.php on line 202」と表示されます。
  • エラーの原因は、result.phpファイルの202行目に「,」もしくは「;」が足りないためです。
  • 特に、以下のコード行が問題箇所です。 if ($p > 1) { echo "<font size=¥"1¥"><a href=¥"$_SERVER[PHP_SELF]?p=$prev1¥"><</a></font>"; }
回答を見る
  • ベストアンサー

phpのエラー(T_LNUMBER)について

Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /..../..../result.php on line 202 というエラーが出ます。 このエラーはresult.phpファイルの202行目に「,」もしくは「;」が足りないよという意味を示していると思うのですが、どう足りないのかというところでひっかかっています。 改行してみたりして行数を確認してみると、特定のコードの箇所に対するエラーでした。 以下が該当する202行目のコードです。 if ($p > 1) { echo "<font size=¥"1¥"><a href=¥"$_SERVER[PHP_SELF]?p=$prev1¥"><</a></font>"; } 上記コードのecho "~~~~~の行が202行目です。 これはどこが間違っているのでしょうか? もしくはそもそも違う部分で間違っている可能性があるということなのでしょうか。。。 アドバイスをいただけないでしょうか? よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.1

¥マークが何かおかしいようですね。 質問文の中のechoの行をそのままコピーして持っていくと、¥に続くダブルコーテーションをエスケープしてくれませんが、¥を打ち直すと正しく処理されました。 この手の問題の根本解決はシングルコーテーションとダブルコーテーションを使い分けることです。 echo "<font size='1'><a href='$_SERVER[PHP_SELF]?p=$prev1'><</a></font>"; と、HTML内をシングルコーテーションにすればエスケープ漏れなどのくだらないミスを減らせますよ。

domo-kun
質問者

お礼

¥マークに原因がありそうですね。 また、シングル・ダブルクォーテーションの使い分けに気をつけながら、まずはミスを減らしていく習慣をつけるようにします。 コードについてはアドバイス頂いた内容を参考にすることで、質問させていただいたエラーについては解決しました。 ありがとうございます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

もしかして、Mac使ってますか? http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5#.E3.83.90.E3.83.83.E3.82.AF.E3.82.B9.E3.83.A9.E3.83.83.E3.82.B7.E3.83.A5.E3.81.A8.E5.86.86.E8.A8.98.E5.8F.B7 Macで使う場合、円マークとバックスラッシュは別になっているケースが多いです。 その場合はOptionと一緒に押すとバックスラッシュになります

domo-kun
質問者

お礼

はい、macを使っています。 アドバイス頂いたポイントは盲点でした。ご指摘いただいた内容を踏まえるとやはり¥マークにエラーの原因があったようです。 ご教示ありがとうございます。

関連するQ&A

  • php 何故、エラー???

    いつもお世話になりありがとうございます。 標記の件。 $subject = "お仕事に関するお問い合わせ"; がエラーになってしまいます。 PHP Syntax Check: Parse error: syntax error, unexpected variable "$subject" in your code on line 2 全体のコードは下記です。 <? php $subject = "お仕事に関するお問い合わせ"; $body = "お見積の件で、連絡をしました。"; ?> <!doctype html > <html > <head > <meta charset =" utf-8"> <title>お問い合わせ</title> </head> <body> <h1><? php echo $subject ?></h1> <p><? php echo $body ?></p> </body > </html > どうして2行目がエラーになるのでしょうか? どうか教えてください。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • PHPのエラーについて

    データベースから出力し、リンクをつけたいと考えていますが、下記のようなエラーが出力されます。 どのように対応すれば解消されるでしょうか? データベースにはthread_idという項目は存在します。 echo から始まる列が38行目にあたります。 よろしくお願いします。 【コード】 <?php $sql = "SELECT * FROM thread WHERE category_id =1"; $date = mysql_query($sql,$link); while ($post = mysql_fetch_assoc($date)) { $thread_id = $post['thread_id']; echo '<br>' . '<a href="thread.php?id=<?php echo htmlspecialchars($post['thread_id']); ?>">' . $post['thread_title'] .'</a>'.'<br>'; } ?> 【エラー】 Parse error: syntax error, unexpected 'thread_id' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\index.php on line 38

    • 締切済み
    • PHP
  • PHPのエラーについて

    このファイルを実行した際に下記のようなエラーが出力されます。 Parse error: syntax error, unexpected '$yamada' (T_VARIABLE), expecting ',' or ';' in C:\xampp\htdocs\study.localhost\sample.php on line 30 何が原因でこのようなエラーが発生しているのでしょうか? 初心者で的外れな質問かもしれませんがよろしくお願います。 <?php class Employee { public $name; private $state = '働いている'; public function getState() { return $this->state; } public function setState($state) { $this->state = $state; } public function work() { echo '書類を整理しています'; } } ?> <?php $yamada = new Employee(); $yamada->job = 'プログラマ'; $yamada->name = '山田'; $yamada->setState('休憩している'); 30行目→echo $yamada->name,'さんは', $yamada->getState();

  • phpのエラー(T_LNUMBER)について

    Parse error: syntax error, unexpected '2' (T_LNUMBER) in /home/celiakhx/public_html/wp-content/plugins/bf-click-counter/bf-click-counter.php on line 168 とwordpressのプラグインがエラーを起こします。 エラー箇所だと思われる168行目は数式のみです 直し方がわかるかたがいらっしゃいましたら、ご教授願います。

    • ベストアンサー
    • PHP
  • Sinatra syntax error

    あるコードの一部なんですがエラーが出てしまいます。 どのように解決すればいいでしょうか よろしくお願いします。 a.rb:5: syntax error, unexpected ',', expecting tASSOC @defeat = {rock::scissors, paper::rock, scissors::paper} ^ a.rb:5: syntax error, unexpected '}', expecting '='

    • ベストアンサー
    • Ruby
  • PHPのエラー「Unexpected character ...」「syntax error, unexpected ...」について

    PHP Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /home/***/***.php on line 25 PHP Parse error: syntax error, unexpected '<' in /home/***/***.php on line 26 という2行のエラーが表示されました。 まったく明快な答えは探せませんでした。 もしも少しでも手がかりになるような情報がありましたら教えて下さい。 お願いします。

    • 締切済み
    • PHP
  • コンパイルエラー???

    どなたか分かる方いらっしゃいましたら ご助言宜しくお願いします。 PHPソース自体には何も問題は無いのですが、たまにParse errorが出てしまいます。 「Parse error: syntax error, unexpected T_STRING, expecting ')' 」 エラーが出ても、何度かリロードを繰り返すと正しく表示されます。 なぜこのような現象がおきてしまうのか、調べても分からない状態です。 どなたか解決策をご存知の方宜しくお願いします。 動作環境 CentOS3.8 apache2.2.4 php4.4.8 Mysql5.0.27 文字コードはeuc-jpで統一

    • 締切済み
    • PHP
  • Parse errorについて質問です

    オーサカPHPさんのw3Analyzerと言うアクセス解析を使ってみようと思い 設置してログを見ようとすると、 Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /××××/w3a/w3a.php on line 82 と出るのですが、これはw3a.phpの82行目がおかしいとでているのでしょうか? w3a.phpは一切なにも変更はしていないのですが・・・ PHP4の環境向けに作られていると書いてあり、自分のサーバーのPHPのバージョンを見てみるとPHP 4.4.8と書いてありました。 これはPHP4と言うことでいいのでしょうか?

    • ベストアンサー
    • PHP
  • constでパースエラー

    <?php class hoge { const MOGE = 'moge'; function poge() { echo 'poge'; } } ?> なコードを書くと、 Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ...\test.php on line 5 とのエラーがでます。 constの部分をコメントアウトすればエラーはでません。 環境は、WindowsのXAMPP環境で、PHPのバージョンを4に変更してテストしているところなのですが... PHP Version 4.4.8 Apache/2.2.8 PHP5の環境では、正常に動作しました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでエラーがでてしまって困っています。

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/MAMP/htdocs/5-2-1.php on line 30 このエラーを解消できません。 下記は実践マスターPHP+MYSQLという書籍のなかのサンプルなんですが、どこが間違っているかどなたか教えていただけないでしょうか? エラーを検索するとダブルクォーテーションの使い方が原因と書いてあるんですが、最近PHPを勉強したばかりでどうやっても解決できません。 function check_3(&$str){ $str =str_replace($GLOBALS["from"],$GLOBALS["to"],$str);  ←この行でエラー global $msg; $msg = $GLOBALS["from"].'から'.$GLOBALS["to"].'へ置換しました!<br>'; return strlen($str); } 宜しくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう