2016-10-13 9 views
0

Ich habe Probleme mit der Konstruktion eines gut funktionierenden formatierten DOM, über PHP.gehören Kopf mit PHP

Der Quellcode wird korrekt angezeigt, aber alle dev-tools von Chrome, Firefox und Edge zeigen das head-tag im body-tag an. Kannst du mir bitte helfen den Fehler zu erkennen, da das Frontend nun fehlerhaft angezeigt wird.

es wie folgt aussehen:

enter image description here

PHP-Schnipsel:

<?php 
session_start(); 

//doctype 
echo "<!DOCTYPE HTML>\n"; 

//html 
echo "<html>\n"; 

//html-head 
echo "<head>\n"; 
     include "inc/head.html"; 
echo "</head>\n"; 

//html- body start-end 
echo "<body>\n 
     some content 
     </body>\n</html>\n"; 
?> 

head.html:

<meta http-equiv='content-type' content='text/html; charset=UTF-8' /> 
<meta name='author' content='MGM'> 
<script type='text/javascript' src='http://code.jquery.com/jquery-2.2.0.min.js'></script> 
<link rel="shortcut icon" href="media/favicon.png" type="image/png"> 
<link rel='stylesheet' type='text/css' href='media/desktop.css'> 

Source html:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv='content-type' content='text/html; charset=UTF-8' /> 
<meta name='author' content='MGM'> 
<script type='text/javascript' src='http://code.jquery.com/jquery-2.2.0.min.js'></script> 
<link rel="shortcut icon" href="media/favicon.png" type="image/png"> 
<link rel='stylesheet' type='text/css' href='media/desktop.css'></head> 
<body> 
some content 
     </body> 
</html> 
+0

Wenn Sie Elemente in Chrome Debugging-Tools untersuchen werden Sie bekommen, dass @ chris85 –

+0

@ chris85 Sein des ausgewählten DOM-Knoten-ID. Kurz gesagt. –

+0

Seine Chrom-spezifische –

Antwort

0

können Sie entweder file_get_contents() für diese

$content = file_get_contents('head.php'); 
print $content; 

oder die Funktion enthalten verwenden, aber seine Ausgabe zu erhalten.

$content = include('head.php'); 
print $content; 

HINWEIS Denken Sie daran, dass, wenn Sie sich entscheiden, dafür sind zu verwenden, wird es den Code in head.php ausführen erste, die file_get_contents() wouldnt.

Vielleicht hilft Ihnen auch this.

+0

Warum sollte es so gemacht werden? –

+0

Es sollte nicht so sein, es ist nur ein Weg, den ich persönlich benutze. Und es funktioniert immer für mich. Beachten Sie, dass wenn Sie sich dafür entscheiden, include zu verwenden, wird zuerst der Code in der head.php ausgeführt, was file_get_contents() nicht tun würde. –

0

Ich würde output buffer mit PHP vorschlagen, den Code zu ändern wie folgt aussehen:

<?php 
session_start(); 
ob_start(); 
?> 
    <!DOCTYPE HTML> 
    <html> 
     <head> 
      <?php include "inc/head.html"; ?> 
     </head> 
     <body> 
      some content 
     </body> 
    </html> 

<?php 
echo ob_get_clean(); 
?>