PHPは初心者です。HTMLは理解しているつもりです。
問題のある構成はこのようなものです。
<!-- index.php ブラウザで直接アクセスする場所 -->
<!DOCTYPE html>
<html lang="ja">
<body>
<?php
echo"<b>TEST OUTPUT</b>"; //ここは正しく実行される
require"system/SampleFile.php";
?>
</body>
</html>
<!-- SampleFile.php 外部ファイル -->
<?php
echo"なにか";
?>
2つ目の外部phpファイルのほうで、echoを書いても、
変数を定義しても、必ず
TEST OUTPUT
Parse error: ・・・・・
と表示されてしまいます。
なお、
<?php
?>
を省いて、echo"なにか";
と書いた場合は、
TEST OUTPUT
echo"なにか";
と、そのまま表示されてしまいます。
外部ファイルだけ正しく実行できないのは
何が原因なのでしょうか?
ちなみにhostingerのサーバー?とドメイン?を使って
アップロード・表示しています。
No.1
- 回答日時:
こんにちは。
スマホで見ているせいか、echoとダブルクオートとの間のスペースが見えないようですが、これは実際は入っているのですよね。
いずれにしても、Parse Errorの具体的な記載があると、より原因特定の参考になると思いますが、いかがでしょうか。
そうですね エラー内容を書きます
↓ echo ”なにか”; の場合(スペースは入れてなかったのですが入れてみても同じでした)
Parse error: syntax error, unexpected 'echo' (T_ECHO) in /home/u228856714/public_html/system/SampleFile.php on line 4
↓ $myInt = 2;の場合
Parse error: syntax error, unexpected '$myInt' (T_VARIABLE) in /home/u228856714/public_html/system/SampleFile.php on line 4
お願いします。
No.2
- 回答日時:
system/SampleFile.php の中、たぶん3行目に間違いがあると思われます。
No.3ベストアンサー
- 回答日時:
unexpected 'echo' は、その前の行のラストでセミコロンを忘れている場合に多いようですね。
見た感じでは入っているようなのですが、念のため再度のご確認をお勧めします。あとは、requireやechoの後にはとりあえずスペースを入れた方が良いと思います。
それでもおかしい場合は、いずれにしてもパースエラーはセミコロンやダブルクオートをとじわすれていたり、何か余計なものが入っていて、構文が崩れたときに起こりますので、いろいろいじってみて変化を見てみると良いと思います。
お勧めなのが、徹底したシンプル化です。まずはコメントを全て取ってみて、echo 内もHTMLタグを入れずに、可能な限りシンプルにします。(前後のHTMLも取ってしまってもいいかもしれません)
不要な改行も取り、テキストを選択状態にして反転し、全角スペース(エディタによっては隠れた厄介者になります)が混じっていないか確認します。
万一ですが、文字コードがらみの不具合の可能性を消すため、echo 内の全角文字を全て半角英数にしてしまった方が良いと思います。
コードをWEBからコピー&ペーストした部分がある場合、クオートなどが全角だったり、異なる改行コードなどのゴミが入っていることもありますので注意が必要です。
クオートをダブルクオートからシングルクオートにしてみると、変化がある場合もあります。(一見論理的に不要でも、意外な効果がある場合があるものです)
大事なのは、上記の調査をいっぺんにやらずに、1つ行うたびに実行(リロード)して変化を見ることだと思います。
それでもだめなら、まっさらな状態からこまめに動作を確認しつつ書き直してみると、発見がある場合もあります。
長くなりましたが、たぶん些細な「何か」が原因だと思いますので、案外No.3あたりでアッサリ指摘してくれるかもしれません・・・が、「私ならこうする」という対処方ですので、ご参考になれば幸いです!
ご回答を参考にして原因が分かりました。
実際には
<?php の直後同じ行にコメントを入れていたのが原因だったようです。
ようやくデバッグに取り掛かれます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
RSSデータの読み込み方を教えて...
-
こちらはただの直列処理ですか?
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
VBでメールを送る時のSMT...
-
ワードプレスサイト PHP8.0.25...
-
FTPコマンドでディレクトリごと...
-
アップロード画像数でCSSを分け...
-
二重投稿防止方法
-
PHPのif文でその処理を途中で抜...
-
入力フォームの空白や改行を制...
-
php5のrename()は日本語をリネ...
-
sqlで日付が一番古いデータの月...
-
HYのAM11:00のラップの部分の歌...
-
i18n_convert と mb_convert_e...
-
php 完了画面の送信メールのコ...
-
htmlのエラーについて(デバッグ)
-
PHPExcel処理速度が遅い
-
phpでPEAR::DBを使っているので...
-
URLが.PHPってどういう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php で C言語のdefineマクロの...
-
PHP MySql ページング
-
BASIC認証のユーザー名をPHPで...
-
特定の値をPOST送信で他のサー...
-
cakephpのサブタイトルはどこで...
-
PHPのタイムアウトについて
-
simplexml_load_file で呼び出...
-
phpのエラーについて
-
同一ディレクトリの連番ファイ...
-
「include()」関数の使い方につ...
-
DBから取得した内容を横表示
-
PHPでxmlファイルへのデータの...
-
home_urlとbloginfo('url')
-
PHPとHTMLをまとめてコメントア...
-
Nowdocの機能をphp5.2で使いたい
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
おすすめ情報