• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

include("dukument.php") - fehler

Status
Für weitere Antworten geschlossen.

Valker

Neues Mitglied
Hallo !

ich ba ein problem mit meiner HP das sowohl php als such html betrifft.

So, vor kurzem ist unsere hp von einem zu einem anderen erver umgezogen.
Warum auch immer funktioniert <?php include("dukument.php");?> innerhalb von html datein nicht mehr.

beispiel:
alte seite: Nachrichten
neue seite: Nachrichten

nun wurde mir empfohlen die html datein einfach als phps abzuspeichern. soweit sgut, das funktioniert tatsächlich:
neue seite:Nachrichten

leider scheint mir das abolut nicht valid zu sein. Also...
1. Weis jemand wie man das problem ansich beheben kann
2. weis jemand wie man eine "valide" html seite in eine php inkludiert, wobei innerhalb das html-teils selbst eine php per <?php include();?> aufgerufen wird ?

Wäre sehr dankbar !
 
Werbung:
Ich versteh gerade nicht Dein Problem.

Wenn Du PHP in der Seite hast, musst Du das ganze als PHP-Datei abspeichern, üblicherweise (kommt auf die Serverkonfiguration an) muss die Datei dann auf .php enden. Dateien, die auf .html enden, werden für gewöhnlich nicht von PHP geparsed.

Mit validem HTML hat das eigentlich nichts zu tun, denn PHP läuft ja serverseitig und erzeugt eine HTML-Datei, die dann an den Client ausgeliefert wird. Das Ergebnis, was PHP erzeugt, muss natürlich valide sein. Die Tags um PHP einzubinden haben damit nichts zu tun.
Daher darf natürlich die zu includende Datei auch kein vollständiges HTML-Gerüst enthalten, weil das Ergebnis dann nicht mehr valide ist.

Wenn in der zu includenden Datei auch wieder PHP-Code steht, muss diese Datei auch so abgespeichert werden, dass sie von PHP geparsed wird. Dann ist das auch kein Problem, wenn man in der zu includenden Datei wieder was includen will.

Zu Deinen Links: Der erste ist so ungültig, weil Du eine komplette HTML-Datei includierst. Das Ergebnis ist natürlich nicht valide.
Der zweite ist nur eine HTML-Seite und wird nicht von PHP geparsed, liegt wahrscheinlich an der Endung .htm
Der dritte ist genauso invalide wie der erste, weil Du eine komplette HTML-Seite includierst.
Aber beim ersten Link scheint der Server so eingestellt zu sein, dass er auch Dateien mit der Endung ".htm" durch den PHP-Parser schickt.
 
Der dritte ist genauso invalide wie der erste, weil Du eine komplette HTML-Seite includierst.
und wie bekomm ich das nun valid hin ?

hab leide keine ahung von php und dessen funktionen.

edit hier wär der html code:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<title>Nachrichten</title>
<meta name="description" content="Aktuelle Forenbeitraege und Nachrichten rund um die Gilde und Aion" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<style type="text/css">
.neueFormatvorlage1 {
}

.center {
    text-align: center;
}

.footer {
    font-family: "trebuchet MS";
    font-weight: bold;
    text-decoration: none;
    font-size: 13px;
    color: #6E92AA;
    text-align: center;
}

a:link {
    color: #6E92AA;
    text-decoration: none;
    font-family: "trebuchet MS";
    font-weight: bold;
}

a:active {
    color: #6e92aa;
    font-family: "trebuchet MS";
    text-decoration: none;
    font-weight: bold;
}
a:visited {
    color: #6e92aa;
    font-family: "trebuchet MS";
    text-decoration: none;
    font-weight: bold;
}

a:hover {
    color: #7dabc2;
    text-decoration: none;
    font-family: "trebuchet MS";
    font-weight: bold;
}


</style>

</head>

<body>

<div style="position: absolute; width: 567px; height: 1636px; z-index: 1; left: 0px; top: 0px; background-image: url('data/page/bg/bg_main/bg_content.png'); background-repeat: no-repeat;" id="content"></div>
<div style="position: absolute; width: 170px; height: 23px; z-index: 4; margin-top: 1610px; margin-left: 195px;" id="footer" class="center">
    <span class="footer">
    <a href="content_archiv.htm">Archiv</a> - 
    <a target="_blank" href="http://trinitas-gilde.com/paranews/admin">Admin</a></span></div>
<div style="position: absolute; width: 522px; height: 190px; z-index: 2; left: 0px; top: 0px; margin-left: 22px; margin-right: 23px; margin-top: 15px; background-image: url('data/page/bg/bg_content/forenticker.png'); background-repeat: no-repeat;" id="forenticker" >
<div style="position: absolute; width: 487px; height: 120px; z-index: 3; overflow: hidden; left: 25px; top: 52px;" id="forenticker_frame">
    <iframe name="forentickerframe" id="forentickerframe" style="width: 487px" height="120" src="http://www.trinitas-gilde.com/forum/forenticker.htm" scrolling="no" frameborder="0" allowtransparency="true" title="Forenticker" marginwidth="0" marginheight="0">Der Browser unterstützt keine Inlineframes oder ist aktuell so konfiguriert, dass Inlineframes nicht angezeigt werden.
            </iframe></div>
</div>
<div style="position: absolute; width: 547px; height: 1350px; z-index: 3; margin-top: 230px; margin-left: 7px; left: 0px; top: 0px" id="news">
<?php include("news.php");?>
</div>


</body>

</html>
 
Werbung:
Du musst auch keine Ahnung von PHP haben.
Schau Dir die Ergebnisseite mal in Deinem Browser an, wie sie nach dem include an Deinen Browser geschickt wird.
Da steht nochmal ein kompletter Doctype und HTML-Head drin. Das darf natürlich nicht sein.

include nimmt lediglich den Inhalt einer Datei (egal was das ist) und stellt ihn an Stelle des Befehls. Damit sollte Dir klar sein, was Du an den Seiten ändern musst, die Du includen willst.
 
So, vor kurzem ist unsere hp von einem zu einem anderen erver umgezogen.
Warum auch immer funktioniert <?php include("dukument.php");?> innerhalb von html datein nicht mehr.

Das hängt mit den Einstellungen des Web-Servers zusammen. Bei Apache muss man in der httpd.conf definieren welche Datei-Endungen von PHP geparst werden sollen:

Code:
AddType application/x-httpd-php .php .php4 .html
Das würde Dateien mit der Endung .php .php4 und .html als PHP interpretieren und entsprechend parsen.

Das angesprochene Validierungsproblem wurde schon sehr gut von Efchen erklärt. Kurz und schmerzlos, aber absolut richtig. Außerdem erklärt dir der Validator sogar was du falsch gemacht hast.

Code:
[I]Line 23, Column 42[/I]: document type [B]does not allow element "html"[/B] here.

<html xmlns="http://www.w3.org/1999/xhtml"[B]>[/B]

The element named above was found in a context where it is not allowed.       
This could mean that you have [B]incorrectly nested elements[/B]
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben