Php in xhtml einbinden
Madeleine
- php
Hallo allerseits,
habe schon vor ein paar tagen gepostet und als Lösung all meiner probleme php empfohlen bekommen. damit ich navigation etc. vom webauftritt nur in einer datei ändern muss und diese dann mit include einbinde. dabei wurde gesagt (?!), dass meine xhmtl dateien nun nicht mehr .html, sondern .php als endung haben müssen.
hmm.. das habe ich nun probiert und funktioniert auch sofern ich alle head-angaben aus meinen dokument nehme. also doctype-declaration, css-einbindung und die ganzen wichtigen sachen, ohne die der rest der datei, also das xhtml nich mehr angezeigt wird.
ich denke, ich mach was falsch;-)
wenn ich die head-infos drinlasse, bekomme ich im browser nur eine weiße seite angezeigt, naja, und mit diesen nur das xhtml. php funktioniert - habe es mit dem "hallo welt" script ausprobiert.
Danke und viele Grüße,
Madeleine
dat is die home.php (die nav.html is im browser auch einzeln aufrufbar und wird angezeigt, habe es auch ohne ./ versucht - -aber daran wirds ja nich liegen. in der nav.html sind keine head angaben gemacht) :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>blabla</title>
<meta http-equiv="content-type" content="application/html; charset=UTF-8" />
<meta http-equiv="content-language" content="de" />
<meta name="generator" content="SEEdit for Macintosh" />
<link rel="stylesheet" href="styles/standard.css" type="text/css" />
</head>
<body >
<?php
include("./nav.html");
?>
<div id="content">bla bla bla
</div>
</body>
</html>
Hi,
dabei wurde gesagt (?!), dass meine xhmtl dateien nun nicht mehr .html, sondern .php als endung haben müssen.
das hängt von der Server-Konfiguration ab. Ohne Weiteres ist es möglich, dass die Dateien .gif heißen, mit einer auf .exe endenden URL aufgerufen werden und HTML ausliefern.
hmm.. das habe ich nun probiert und funktioniert auch sofern ich alle head-angaben aus meinen dokument nehme. also doctype-declaration, css-einbindung und die ganzen wichtigen sachen, ohne die der rest der datei, also das xhtml nich mehr angezeigt wird.
ich denke, ich mach was falsch;-)
Hm, das denke ich auch :-)
dat is die home.php
Ich fürchte, Dein Server ist misskonfiguriert ...
<?xml version="1.0" encoding="UTF-8"?>
... denn vermutlich wird bereits durch "<?" PHP getriggert. Mir ist unklar, warum die PHP-Macher so etwas überhaupt ermöglicht haben. Wende Dich an den Server-Administrator, damit er das System vernünftig konfiguriert; bis dahin gib die XML-Deklaration per PHP und print aus.
Hat es eigentlich einen Grund, dass Du den IE in den Quirks-Mode versetzt?
Cheatah
Hallo,
Hat es eigentlich einen Grund, dass Du den IE in den Quirks-Mode versetzt?
Ja, er verdient's nicht besser!
*scnr*
netten Tag
^da Powl
Grundlage für Zitat #727.
Hi,
Hat es eigentlich einen Grund, dass Du den IE in den Quirks-Mode versetzt?
Ja, er verdient's nicht besser!
YMMD :-)
Cheatah, für den /my/-Link um Verheiz^WVerzeihung bittend
Hi,
dabei wurde gesagt (?!), dass meine xhmtl dateien nun nicht mehr .html, sondern .php als endung haben müssen.
das hängt von der Server-Konfiguration ab. Ohne Weiteres ist es möglich, dass die Dateien .gif heißen, mit einer auf .exe endenden URL aufgerufen werden und HTML ausliefern.
hmm.. das habe ich nun probiert und funktioniert auch sofern ich alle head-angaben aus meinen dokument nehme. also doctype-declaration, css-einbindung und die ganzen wichtigen sachen, ohne die der rest der datei, also das xhtml nich mehr angezeigt wird.
ich denke, ich mach was falsch;-)
Hm, das denke ich auch :-)
dat is die home.php
Ich fürchte, Dein Server ist misskonfiguriert ...
<?xml version="1.0" encoding="UTF-8"?>
... denn vermutlich wird bereits durch "<?" PHP getriggert. Mir ist unklar, warum die PHP-Macher so etwas überhaupt ermöglicht haben. Wende Dich an den Server-Administrator, damit er das System vernünftig konfiguriert; bis dahin gib die XML-Deklaration per PHP und print aus.
Hat es eigentlich einen Grund, dass Du den IE in den Quirks-Mode versetzt?
Cheatah
ich weiß nich was ie(internet explorer) ist und auch nich, dass ich damit irgendwas mache.
habe mir auf meinen rechner mittels mamp einen lokalen server (apache, php..) installiert. wie gesagt, das hallowelt.php script funktioniert und ich bekomme beim aufrufen im browser ein einfache "hallo welt" angezeigt.
in mamp kann man nicht viel einstellen (ports, document_root, php (yo or no)) und ansonsten kenne ich mich auch nich so gut aus mit dem kram
<?xml version="1.0" encoding="UTF-8"?>
kann man das triggern nur diesen teils ändern?
bis dahin gib die XML-Deklaration per PHP und print aus.
ich weiß nicht was du meinst. aber ich bin ja grad erst dabei die seite zu basteln.. d.h. sie is nich im netz und muß schnell funktionieren...
Hello out there!
Sei bitte kein Vollquottel.
ich weiß nich was ie(internet explorer) ist
Der Internet Explorer (IE) ist ein Miscrosoft auf ahnungslose Nutzer losgelassenes Programm zum Browsen im World Wide Web, was aber wegen Missachtung von Webstandards zu diesem Zweck nur bedingt tauglich ist. Wegen agressiven Marketing trotz gravierender Mägel millionenfach eingesetzt - sehr zum Leidwesen von Weseitenautoren, von denen sich einige sogar die Mühe machen (müssen), die Mängel durch Hacks auszubügeln.
und auch nich, dass ich damit irgendwas mache.
Cheatah sagte doch, du schickst den IE in den Quirks-Mode. Wikipedia ist dein Freund.
bis dahin gib die XML-Deklaration per PHP und print aus.
ich weiß nicht was du meinst.
Fütter mal die Archivsuche mit "+print +<?xml". Tip: auch mal mit "+echo +<?xml".
Aber eigentlich meinte Cheatah, du solltest die XML-Deklaration weglassen.
See ya up the road,
Gunnar
Hallo,
<?xml version="1.0" encoding="UTF-8"?>
Mit dieser Zeile wird der IE6 in den Quirksmodus versetzt. Dadurch wendet er unter anderem das IE eigene boxmodel an, welches auch die IE's kleiner 6 benutzen. Das Gegenteil wäre diese Zeile einfach wegzulassen woduch der IE6 standard compliant arbeitet und das standardkonforme Model benutzt. Mit dem boxmodel solltest Du Dich auseinandersetzten, allem "Zeitdruck" zum Trotz.
Wenn Du mit PHP arbeitest, gibt es ebenso 2 verschiedene Ansätze. Zum einen PHP in HTML. Das heisst, dass in einer HTML Datei PHP Blöcke eingeschoben werden, die an dieser Stelle HTML Code generieren, z. B.
<?PHP echo "$foo"; ?>
Dem gegenüber steht HTML in PHP. Dabei wird ein HTML Template durch ein PHP Skript eingelesen, vorhandene Platzhalter ersetzt (z. B. {MENUE}), was durchaus Vorteile in Bezug auf die Erweiterung und Wartung hat, wie ich finde. Änderungen lassen sich einfach am Template vollziehen und gelten schon für alle "Seiten". Aber es ist auch ein wenig Geschmackssache, was man bevorzugt. Einsteiger beginnen zumeist mit der ersten Methode, weil sie einfacher erscheint. Weniger Probleme macht es aber mMn ein HTML Template durch PHP verarbeiten zu lassen.
Wenn es Dir lediglich darum geht sich wiederholenden Code auszulagern, dann wäre auch SSI, wie Gunnar schon sagte, eine ausreichende Methode. Wenn Du darüberhinaus aber auch Datenverarbeitung beabsichtigst, z.B. ein Kontakformular oder ein Gästebuch, dann würde ich PHP einsetzen.
Wie auch immer, wenn Du gerade damit beginnst und Deine erste Seite erstellst, dann tue Dir selber einen Gefallen und setzte Dich nicht unter Zeitdruck. Gehe am Besten systematisch vor und erarbeite Dir zunächst die nötigen Grundlagen. Man erreicht mit PHP zwar schon sehr schnell sichtbare Fortschritte, aber das verführt auch zu nachlässigem Programmieren, was entsprechende Gefahren beeinhaltet - sofern man die überhaupt schon überblicken kann. Flugs hat man nicht nur ein Kontaktformular, sondern auch eine zuverlässige Spamschleuder gebastelt.
Gönne Dir mal eine Woche und lese Dir HTML, CSS und PHP Tutorials durch. Die Zeit holst Du hinterher durch vermiedene Fehler locker wieder auf, da sei Dir sicher!
netten Tag
^da Powl
Hallo,
<?xml version="1.0" encoding="UTF-8"?>
Mit dieser Zeile wird der IE6 in den Quirksmodus versetzt. Dadurch wendet er unter anderem das IE eigene boxmodel an, welches auch die IE's kleiner 6 benutzen. Das Gegenteil wäre diese Zeile einfach wegzulassen woduch der IE6 standard compliant arbeitet und das standardkonforme Model benutzt. Mit dem boxmodel solltest Du Dich auseinandersetzten, allem "Zeitdruck" zum Trotz.
die zeile wird von meinem hmtl-editor automatisch eingefügt - habe das erst ma nich in frage gestellt, weil auch in anderen beispielen z.b. selfhtml.org als xhtml-declaration angegeben wird: <?xml version="1.0" ?>, zwar ohne das encoding, is aber doch das gleiche?
ach ich weiß auch nicht. die zeit... ich würde/werde mir die zeit schon nehmen. hab mir auch schon ein paar tutorials angesehen (css-boxmodell) und habe auch vor das weiterhin zu tun. php bisher noch nicht, weiß aber auch noch nicht lang, dass ich das gebrauchen kann. allerdings steht in diesen tutorials nicht, was man denn wann am besten einsetzt.
es soll ne seite sein, die ein paar kategorien enthält: berichte, fotoalbum, videos, später ma ein forum oder anderer schnick, schnack. würde wahrscheinlich alle 1-2 wochen ma ein neuer bericht oder fotoalbum dazukommen. eigentlich wäre ich da bei einer blog-seite gut aufgehoben. allerding habe ich schon länger bock zu lernen, wie man nen eigenen webauftritt schreibt!
wäre eben auch schön, wenn ich sie so schreiben kann, dass sie später auch gut erweiterbar ist und ich nicht irgendwann alles nochma umschreiben muss. also besser php in xhtml oder xhtml in php?! oder doch ssi?
benutzen eigentlich alle für so was cms? ist es blödsinnig so was noch mit xhtml und php zu machen?
gegen cms habe ich mich entschieden, weil man angeblich auf nicht jeden server sowas installiert ist bzw. installiert werden darf und es am end doch möglichst kostengünstig sein soll. also kein teurerer web-space, damit man das machen darf oder es schon drauf is und vielleicht sogar gewartet wird.
mein bekannter meinte, eine derartige seite wie ich sie plane sei eben auch gut in xhtml zu schreiben, wenn man eben so ein paar sachen auslagert. außerdem sei ein gutes cms programm wie typo3 sehr aufwendig zu lernen und lohne sich daher eher im kommerziellen bereich, sprich, damit seine kohle verdient leuten seiten zu basteln, die wiederum diese dann gut handhaben können.
wenn xhtml+php für meine zwecke genauso aufwendig bzw. nicht viel aufwendiger ist zu lernen als ein cms würde ich das vorziehen. die spätere unterhaltung der seite im zwei wochen rythmus is mit copy-paste und nen eintrag in die navi, denke ich, auch im rahmen.
also denn, danke nochmal für die antworten. kann gut verstehen, wenn dieser weitere laberschwall und offenlegung meiner uninformierten, wahrscheinlich naiven... herangehensweise übergangen wird. ansonsten freue ich mich sehr noch den ein oder anderen tipp bzw. wegweiser ins vermeintliche glück zu erhalten.
Schöne Grüße, Madeleine
Wenn Du mit PHP arbeitest, gibt es ebenso 2 verschiedene Ansätze. Zum einen PHP in HTML. Das heisst, dass in einer HTML Datei PHP Blöcke eingeschoben werden, die an dieser Stelle HTML Code generieren, z. B.
<?PHP echo "$foo"; ?>Dem gegenüber steht HTML in PHP. Dabei wird ein HTML Template durch ein PHP Skript eingelesen, vorhandene Platzhalter ersetzt (z. B. {MENUE}), was durchaus Vorteile in Bezug auf die Erweiterung und Wartung hat, wie ich finde. Änderungen lassen sich einfach am Template vollziehen und gelten schon für alle "Seiten". Aber es ist auch ein wenig Geschmackssache, was man bevorzugt. Einsteiger beginnen zumeist mit der ersten Methode, weil sie einfacher erscheint. Weniger Probleme macht es aber mMn ein HTML Template durch PHP verarbeiten zu lassen.
Wenn es Dir lediglich darum geht sich wiederholenden Code auszulagern, dann wäre auch SSI, wie Gunnar schon sagte, eine ausreichende Methode. Wenn Du darüberhinaus aber auch Datenverarbeitung beabsichtigst, z.B. ein Kontakformular oder ein Gästebuch, dann würde ich PHP einsetzen.
Wie auch immer, wenn Du gerade damit beginnst und Deine erste Seite erstellst, dann tue Dir selber einen Gefallen und setzte Dich nicht unter Zeitdruck. Gehe am Besten systematisch vor und erarbeite Dir zunächst die nötigen Grundlagen. Man erreicht mit PHP zwar schon sehr schnell sichtbare Fortschritte, aber das verführt auch zu nachlässigem Programmieren, was entsprechende Gefahren beeinhaltet - sofern man die überhaupt schon überblicken kann. Flugs hat man nicht nur ein Kontaktformular, sondern auch eine zuverlässige Spamschleuder gebastelt.
Gönne Dir mal eine Woche und lese Dir HTML, CSS und PHP Tutorials durch. Die Zeit holst Du hinterher durch vermiedene Fehler locker wieder auf, da sei Dir sicher!
netten Tag
^da Powl
Hello out there!
habe schon vor ein paar tagen gepostet
Du meinst http://forum.de.selfhtml.org/archiv/2007/6/t154409/?
und als Lösung all meiner probleme php empfohlen bekommen.
Du hattest auch SSI empfohlen bekommen, was für die Zwecke völlig ausreicht.
diese dann mit include einbinde.
Falsche Empfehlung. Wenn das einzufügende selbst kein PHP enthält, muss auch nicht nach PHP geparst werden, dann ist readfile() die Funktion der Wahl.
dabei wurde gesagt (?!), dass meine xhmtl dateien nun nicht mehr .html, sondern .php als endung haben müssen.
Müssen nicht. Man kann den Server auch so konfigurieren, dass er Dateien mit '.husseldi' durch den PHP-Prozossor jagt. '.php' ist Voreinstellung.
hmm.. das habe ich nun probiert und funktioniert auch sofern ich alle head-angaben aus meinen dokument nehme.
?? Welches meinst du? "./nav.html"?
Das darf nur das enthalten, was im Quelltext an der Stelle, wo es eingefügt wird, erlaubt ist. Also keine DOCTYPE-Deklaration, keinen 'head', auch keine '<body>'- und '</body>'-Tags.
Es ist also kein vollständiges HTML-Dokument, sondern nur ein HTML-Schnipsel.
See ya up the road,
Gunnar
Du meinst http://forum.de.selfhtml.org/archiv/2007/6/t154409/?
ja
und als Lösung all meiner probleme php empfohlen bekommen.
Du hattest auch SSI empfohlen bekommen, was für die Zwecke völlig ausreicht.
ja, aber php is ja viel mächtiger;-) und vielleicht is es ja nich schlecht darum zu wissen
diese dann mit include einbinde.
Falsche Empfehlung. Wenn das einzufügende selbst kein PHP enthält, muss auch nicht nach PHP geparst werden, dann ist readfile() die Funktion der Wahl.
»»
also readfile(), wenn kein php in der auzurufenden datei, ansonsten include?!
hmm.. das habe ich nun probiert und funktioniert auch sofern ich alle head-angaben aus meinen dokument nehme.
?? Welches meinst du? "./nav.html"?
nein ich meine das home.php -> dann bekomme ich eben die nav.html inhalte only
und eben nich die xhtml inhalte im beispiel den div-block. die nav.html enthält nur inhalte und keinen head, body...
Hello out there!
Du hattest auch SSI empfohlen bekommen, was für die Zwecke völlig ausreicht.
ja, aber php is ja viel mächtiger;-)
'n KISS für dich. :->
also readfile(), wenn kein php in der auzurufenden datei, ansonsten include?!
Ja.
See ya up the road,
Gunnar
Hello out there!
Du hattest auch SSI empfohlen bekommen, was für die Zwecke völlig ausreicht.
ja, aber php is ja viel mächtiger;-)
'n KISS für dich. :->
ja,ja kann mir aber vorstellen, das nochma brauchen zu können. außerdem ist es erweiterbar(er), vielleicht fällt mir noch was ein. so kann ich lernen damit umzugehen und muss jetzt nich erstmal was anderes lernen - was dann möglicherweise nich mehr benutzen brauche/werde.
außerdem: bringt php gegenüber ssi nachteile? ist also unbedingt davon abzuraten, dass ganze mit php zu lösen?
ansonsten: hat jemand noch ideen, wie ich das jetze doch noch hinbekommen kann???
und schon mal danke für antwort und rede (bisher und hoffentlich noch folgende)!
Hi,
außerdem: bringt php gegenüber ssi nachteile?
ja: Es ist sehr viel mächtiger als SSI. Wenn Du also noch nicht mit derlei Technologien umzugehen weißt, kannst Du sehr viel leichter sehr viel mehr kaputt machen. Abgesehen davon ist es natürlich auch weniger performant.
Cheatah