2016-04-07 19 views
0

私はPHPにはかなり興味がありますが、私の主な問題は、MAMPを使ってローカルサーバーを稼動させている間にサイトのページはうまく動作しますが、リモートリポジトリでhost.phpの内容全体<body>に入っていて、<head>ではない。次のように私のコードは次のとおりです。PHP <Head>にファイルを追加する<Body>

<?php 
    $pageName = "This is my page title"; 
    $isHomeStyle = true; 
    $mainjs = true; 
    $flexisel = false; 
    $lazyload = false; 

    include("includes/header.php"); 
    include("includes/navbar.php");?> 

<body> 
... 
</body> 

私は、ローカルホスト上で、それをロードすると、それがあるべき場所、ヘッドが表示され、私はそれをオンラインで見たときにすべてが、素晴らしい作品、しかし、コードは次のようになります。

<head></head> 
<body> 
    <div class="navbar"></div> 
    <title>This is my Page title</title> 
    <link rel="stylesheet" href="project/css/home.css" /> 
    <link rel="stylesheet" href="project/css/styles.css" /> 

... 

<body> 

明らかに、それは正しくない、私は何が欠けていますか?

EDIT:次のようにhead.phpファイルは次のとおりです。

<!doctype html> 
<html class="no-js" lang="en"> 
    <head> 
    <meta charset="utf-8" /> 
    <title>Page Name | <?= $pageName ?></title> 
    <? if (true == $isHomeStyle): ?> 
     <link rel="stylesheet" href="project/css/home.css" /> 
    <? endif; ?> 
    </head> 

問題が問題は速記タグの私の使用した解決、どうやらそれは完全にどこでもサポートされていません。皆さん、ありがとうございました!

+0

身体の中にnavbarを置く必要がありますか? –

+0

キャッシュを削除しましたか? –

+1

出力を生成する 'header.php'ファイルを表示してください。一部のタグを誤って配置している可能性があります。 – 4castle

答えて

1

常にPHPコードではなく、<? ?>速記を区切るために<?php ?>を使用しています。これはPEAR準拠のために必要とされ、異なるオペレーティングシステムや設定にPHPコードを組み込む最も移植性の高い方法です。

これはローカルホストでは動作しますが、オンラインリポジトリでは動作しない可能性があります。

<body>タグ内のinclude("includes/navbar.php");も必ず移動してください。

+0

ありがとう、これは問題のように聞こえる。私は、これは$ pageNameのような変数が '<?php $ pageName?>'であることを意味していると仮定しています。 –

+0

あなたは大歓迎です:)実際には '<?php echo $ pageName?>' – 4castle

2

あなたは<head>をHTMLで閉じているわけではありません。いくつかのブラウザ(確かにChrome)は、構文上のHTMLエラーを修正するためにDOMをインテリジェントに操作しようとします。この場合、あなたのブラウザは自動的にあなたのインクルードの出力を本文に自動的に配置していると思います。開始<body>タグの前に終了</head>タグを追加してください。また、あなたのinclude("includes/navbar.php");が実際の身体にあるはずです。 PHP Pear Docsによると

+0

テンプレート内でheadタグを閉じるのではなく、PHPをheadタグに移動しました。また、navbarを本体に移動しました。リモートサーバにロードされると、頭が現れる位置が現れますが、PHPはコメントとして扱われます。私はこれがPHPのインストールされたバージョンの問題だと仮定していますか? –

+0

あなたは精緻化できますか?どのようにそのようになるか分かりません...サーバーに実際にPHPがインストールされ実行されていることは確かですか? – samrap

+0

yeap、私たちはこのサーバー上で2年以上PHPを使用してきました。私は今このテンプレートの変更を試みています。基本的には、テンプレートheader.phpにはif文があり(上記参照)、PHPの残りの部分(つまりnavbarを含む)が正しく動作していても、HTMLコメントとしてブラウザに表示されます。 –

関連する問題