it-swarm.com.de

PHP Include für HTML?

Ich habe eine Navigationsleiste, ein Bild und eine Überschrift, die ich auf jeder Seite meiner Website einfügen werde. Daher wollte ich PHP auf mehreren Seiten auf diesen Code verweisen. Ich glaube jedoch, dass die Syntax falsch ist oder etwas, weil beim Rendern nichts gerendert wird. Hier sind einige Codeausschnitte:

<!-- sample page --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html>  
<head>  
<?php include ('headings.php'); ?>
</head>
<body>
<?php include ('navbar.php'); ?>
<?php include ('image.php'); ?> 
</body>
</html>

navbar.php

    <?php 

    echo '<ul id="nav">
        <li>
            <a href="Home.html">Home</a>
        </li>
        <li>
            <a>About Me</a>
            <ul>
                <li>
                    <a href="Career.html">Career</a>
                </li>
                <li>
                    <a href="Coding.html">Coding</a>
                </li>
                <li>
                    <a href="Personal.html">Personal</a>
                </li>
            </ul>
        </li>
        <li>
            <a href="Travels.html">Travel</a>
        </li>
        <li>
            <a href="Contact.html">Contact</a>
        </li>
    </ul>';

    ?>

Danke fürs Helfen!

23
sresht

Sie können php-Code in Dateien mit der Erweiterung .php und nur dort verwenden (iff other ist nicht in Ihren Servereinstellungen definiert).

Benennen Sie einfach Ihre Datei *.html in *.php um.


Wenn Sie die Verarbeitung von php in Dateien unterschiedlichen Formats zulassen möchten, haben Sie zwei Möglichkeiten, dies zu tun:

1) Ändern Sie httpd.conf, um dies für alle Projekte auf Ihrem Server zuzulassen, indem Sie Folgendes hinzufügen:

AddHandler application/x-httpd-php .htm .html

2) Erstellen einer .htaccess-Datei in Ihrem separaten Projekt-Top-Verzeichnis mit:

<Files />
    AddType application/x-httpd-php .html
</Files>

Für die zweite Option müssen Sie die Verwendung von .htaccess-Dateien in Ihrem httpd.conf zulassen, indem Sie die folgenden Einstellungen hinzufügen:

AllowOverride All
AccessFileName .htaccess

* das ist für Apache HTTP Server korrekt

24

Sie müssen die Informationen in der PHP-Datei nicht wiederholen. Ein PHP include fügt automatisch HTML-Code in diese Datei ein.

Stellen Sie sicher, dass Sie tatsächlich eine Indexdatei mit der Erweiterung .php verwenden. .html funktioniert nicht mit PHP-Includes. (Es sei denn, Sie weisen Ihren Server an, HTML-Dateien anderweitig zu behandeln.)

Stellen Sie sicher, dass Ihre Pfade korrekt eingerichtet sind. Nach Ihrer Beschreibung sollte sich die Art und Weise, wie Sie Ihre header.php/navbar.php/image.php-Dateien eingerichtet haben, in Ihrem Stammverzeichnis befinden. Ihr Stammverzeichnis sollte also so aussehen:

index.php
navbar.php
image.php
header.php

Wenn sich diese PHP -Dateien in einem Ordner mit dem Namen /includes/ befinden, sollte dies folgendermaßen aussehen:

<?php include ('includes/headings.php'); ?>

9

Versuchen Sie, einige Debugging-Informationen zu erhalten. Der Dateipfad ist beispielsweise falsch.

Versuchen Sie diese beiden Dinge: - Fügen Sie diese Zeile am oberen Rand Ihrer Beispielseite hinzu:

<?php error_reporting(E_ALL);?>

Dadurch werden alle Fehler/Warnungen/Hinweise auf der Seite gedruckt. Wenn ein Problem auftritt, erhalten Sie eine Textnachricht, die diese beschreibt, anstatt einer leeren Seite

Zusätzlich können Sie include () in requir () ändern.

<?php require ('headings.php'); ?>
<?php require ('navbar.php'); ?>
<?php require ('image.php'); ?>

Dadurch wird ein FATAL-Fehler ausgegeben. PHP kann die erforderlichen Seiten nicht laden und sollte Ihnen helfen, das Nachverfolgen von Fehlern zu erleichtern.

Sie können die Fehlerbeschreibungen hier posten, wenn Sie welche erhalten, und Sie können nicht herausfinden, was es bedeutet.

4
raidenace

Hier ist der schrittweise Prozess zum Einfügen von PHP-Code in die HTML-Datei (getestet)

Wenn PHP funktioniert, gibt es nur noch einen Schritt, um PHP -Scripts in Dateien mit der Erweiterung * .html oder * .htm zu verwenden. Das Zauberwort ist ".htaccess". Weitere Informationen dazu finden Sie in der Wikipedia-Definition von .htaccess. Laut Wikipedia handelt es sich dabei um "eine Konfigurationsdatei auf Verzeichnisebene, die eine dezentrale Verwaltung der Webserverkonfiguration ermöglicht".

Sie können wahrscheinlich eine solche .htaccess-Konfigurationsdatei für Ihren Zweck verwenden. In unserem Fall möchten Sie, dass der Webserver HTML-Dateien wie PHP -Dateien analysiert.

Erstellen Sie zuerst eine leere Textdatei und nennen Sie sie ".htaccess". Sie fragen sich vielleicht, warum der Dateiname mit einem Punkt beginnt. Auf Unix-ähnlichen Systemen bedeutet dies, dass es sich bei einer Punktdatei um eine versteckte Datei handelt .. (Hinweis: Wenn Ihr Betriebssystem keine Dateinamen zulässt, die mit einem Punkt beginnen, nennen Sie die Datei vorübergehend "xyz.htaccess".) Da Sie sie in einem späteren Schritt auf Ihren Webserver hochgeladen haben, können Sie die Datei online in ".htaccess" umbenennen.) Öffnen Sie die Datei mit einem einfachen Texteditor wie dem "Editor" in MS Windows. Fügen Sie die folgende Zeile in die Datei ein: AddType-Anwendung/x-httpd-php .html .htm Wenn dies nicht funktioniert, entfernen Sie die Zeile oben aus Ihrer Datei und fügen Sie diese alternative Zeile für PHP5 ein : AddType-Anwendung/x-httpd-php5 .html .htm Laden Sie nun die .htaccess-Datei in das Stammverzeichnis Ihres Webservers hoch. Stellen Sie sicher, dass der Name der Datei ".htaccess" ist. Ihr Webserver sollte jetzt * .htm- und * .html-Dateien wie PHP -Dateien analysieren.

Sie können versuchen, ob es funktioniert, indem Sie eine HTML-Datei wie die folgende erstellen. Nennen Sie es "php-in-html-test.htm", fügen Sie den folgenden Code ein und laden Sie ihn in das Stammverzeichnis Ihres Webservers hoch:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     <HTML>
 <HEAD>
 <TITLE>Use PHP in HTML files</TITLE>
 </HEAD>

   <BODY>
    <h1>
    <?php echo "It works!"; ?>
    </h1>
  </BODY>
 </HTML>

Versuchen Sie, die Datei in Ihrem Browser zu öffnen, indem Sie Folgendes eingeben: http://www.Ihre-Domain.com/php-in-html-test.htm (noch einmal ersetzen Sie bitte Ihre-domain.com durch Ihre eigene Domain ...) Wenn Ihr Browser den Satz "Es funktioniert!" Alles funktioniert gut und Sie können PHP in. * html- und * .htm-Dateien verwenden. Wenn nicht, versuchen Sie bitte, die alternative Zeile in der .htaccess-Datei zu verwenden, wie oben gezeigt. Wenn es immer noch nicht funktioniert, wenden Sie sich an Ihren Hosting-Provider.

1
napender

Ich habe eine einfache Lösung für das PHP - Include gefunden. Benennen Sie einfach alle Ihre .html-Dateien in .php um und Sie können loslegen.

1
chitech

Erstens: was die anderen sagten. Vergessen Sie die Echo-Anweisung und schreiben Sie Ihre navbar.php einfach als normale HTML-Datei.

Zweitens: Ihre Include-Pfade sind wahrscheinlich durcheinander. Um sicherzustellen, dass Sie Dateien einschließen, die sich im selben Verzeichnis wie die aktuelle Datei befinden, verwenden Sie __DIR__:

include __DIR__.'/navbar.php'; // PHP 5.3 and later
include dirname(__FILE__).'/navbar.php'; // PHP 5.2
0

Ich habe ein ähnliches Problem. Es scheint, dass PHP PHP-Code in der enthaltenen Datei nicht mag. In Ihrem Fall ist die Lösung recht einfach. Entfernen Sie den PHP-Code aus der Datei navbar.php. Lassen Sie einfach HTML-Code, und es funktioniert.

0
Alex S