24.08.2009, 14:46
PHP in XHTML einbinden
Hi,
ACHTUNG---> DER TITEL HEISST: PHP IN XHTML EINBINDEN <---ACHTUNG
weil ich von HTML auf (X)HTML umgestiegen bin wollt ich mal fragen wie man PHP in XHTML einbindet. Wenn ich es auf die normale Tour mach, wird das Skript nicht ausgeführt und ich sehe den PHP-Quelltext wenn ich mir den Quelltext von
FF anschaue. Vielleicht liegt es auch am Webspace(bplaced.net).
Hoffe auf Antworten...
Geändert von godsend101 (24.08.2009 um 14:48 Uhr).
Grund: DOOFHEIT
Heute
Hardware Bot Computer Informationen Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
auf PCMasters.de
Weitere Informationen
24.08.2009, 14:55
Es muss eine PHP Datei sein und innerhalb dieser Datei einfach mit
<?php phpzeugs() ?>
Dein PHP Markup einfügen
24.08.2009, 15:15
du kannst auch dein xhtml code in php echo machen^^
24.08.2009, 16:41
Darf ich dann trotzdem noch dieses
Bild benutzen???
24.08.2009, 16:50
klar.
Folgende User haben sich für den guten Beitrag bedankt:
24.08.2009, 16:53
Das Problem liegt vermutlich an der XHTML-Deklaration. Wenn du die Dateiendung auf .php änderst, wird sie vom PHP-Parser gelesen. In der ersten Zeile steht aber sowas wie "
<?xml version="1.0" encoding="ISO-8859-1" ?> ". Der PHP-Parser versucht das jetzt zu parsen, scheitert aber weils kein PHP ist.
Lösung:
PHP-Code:
echo "<?xml version =\ "1.0\" encoding=\"ISO-8859-1\" ?>\n" ;
Oder die "Short-Open-Tags" in der Server-Konfiguration deaktivieren (geht aber bei bplaced und ähnlichem natürlich nicht):
]
Geändert von pixelflat (24.08.2009 um 16:58 Uhr).
24.08.2009, 16:54
Meinst du das jetzt so:
PHP-Code:
<?php echo( ' <?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"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" media="screen,projection" type="text/css" title="Standardstylesheet" href="default.css" /> <title>Startseite</title> </head> <body> <div id="header"> <h1>Startseite</h1> <h2>Home</h2> </div> <div id="nav"> </div> </body> </html> ' ); ?>
Geht das nich irgendwie anders weil es funktioniert jetzt schon nich mit dem css...
24.08.2009, 16:57
PHP-Code:
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" ; ?> <!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>Virtual Library</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>.</p> <?php echo "blabla..." ; ?> </body> </html>
Das sollte doch funktionieren? Wichtig für das W3C-Logo ist ja nur, was am Ende beim Browser ankommt.
24.08.2009, 16:58
@pixelflat sry konnte dein post grad nich sehen. so:
PHP-Code:
<?php echo( "<?xml version=" 1.0 \ " encoding=\"ISO-8859-1\" ?>\n" ); <! 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" > < head > < meta http - equiv = "content-type" content = "application/xhtml+xml; charset=UTF-8" /> < link rel = "stylesheet" media = "screen,projection" type = "text/css" title = "Standardstylesheet" href = "default.css" /> < title > Startseite </ title > </ head > < body > < div id = "header" > < h1 > Startseite </ h1 > < h2 > Home </ h2 > </ div > < div id = "nav" > </ div > </ body > </ html > ?>
sagt er:
Parse error : syntax error, unexpected T_DNUMBER in /users/dortmunderjungs/www/index.php on line 2
24.08.2009, 17:00
PHP-Code:
<?php
echo( "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" );
oder
PHP-Code:
<?php
echo( '<?xml version="1.0" encoding="ISO-8859-1" ?>\n' );
Die Foren-Software schluckt leider ab und zu ein paar Backslashes.
Edit: Ach ja, nach dem echo musst du natürlich mit "
?> " den PHP-Teil wieder schließen.
Folgende User haben sich für den guten Beitrag bedankt:
24.08.2009, 17:25
So geht jetzt wie du um 17:58 beschrieben hast:
PHP-Code:
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" ; ?> <!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"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" media="screen,projection" type="text/css" title="Standardstylesheet" href="default.css" /> <title>Startseite</title> </head> <body> <div id="header"> <h1>Startseite</h1> <h2>Home</h2><?php echo( "BLA" ); ?> </div> <div id="nav"> </div> </body> </html>
Thx @ all
Werd mich an mein eigenes CMS ranmachen muhahahahahahaha
Betet, dass das Internet morgen noch geht........
EDIT (autom. Beitragszusammenführung):
Ahhhhhhhh Problem noch nicht ganz gelöst. Jetzt fängt jede Seite mit \n"); ?> an?
Geändert von godsend101 (24.08.2009 um 17:25 Uhr).
Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!
24.08.2009, 17:35
<?
echo "BLA";
?>
geht auch ^^
24.08.2009, 17:36
Wenn du deinen Webserver so einstellst das der Php Parser nur auf <?php reagiert solltest du kein Problem haben. Dann könnte der Code z.b. so aussehen:
PHP-Code:
<?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"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" media="screen,projection" type="text/css" title="Standardstylesheet" href="default.css" /> <title>Startseite</title> </head> <body> <div id="header"> <h1>Startseite</h1> <h2>Home</h2><?php echo( "BLA" ); ?> </div> <div id="nav"> </div> </body> </html>
Dafür muss man in der php.ini die Zeile "short_open_tag = On" auf Off stellen.
Wo die php.ini ist kommt auf den verwendeten Server an.
Bei Debian mit Apache2 und PHP5 ist sie zu finden in /etc/php5/apache2/
24.08.2009, 17:40
An die .ini komm ich bestimmt nicht ran. Trotzdem danke...
24.08.2009, 17:53
Zitat:
Zitat von
godsend101 Ahhhhhhhh Problem noch nicht ganz gelöst. Jetzt fängt jede Seite mit \n"); ?> an?
Wie ist dein aktueller Code?
24.08.2009, 17:58
@godsend101: Sry hatte vergessen das du ja bei bplaced bist (bzw hatte es nicht gelesen)
Wenn er den hat:
PHP-Code:
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" ; ?>
Dann ist das problem das "\"UTF-8\" ?>" am Ende.
Der Parser sieht dann das ?> und beendet den Php Code.
Er könnte den code so umbauen das er so aussieht:
PHP-Code:
<? echo "<?" ?> xml version="1.0" encoding="UTF-8" <? echo "?>" ?> <!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"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" media="screen,projection" type="text/css" title="Standardstylesheet" href="default.css" /> <title>Startseite</title> </head> <body> <div id="header"> <h1>Startseite</h1> <h2>Home</h2><?php echo( "BLA" ); ?> </div> <div id="nav"> </div> </body> </html>
24.08.2009, 18:01
versuch mal so <?php echo '<?xml version="1.0" encoding="UTF-8" ?>' ; ?>
24.08.2009, 18:04
Geändert von Hagn (24.08.2009 um 18:10 Uhr).
24.08.2009, 18:08
PHP-Code:
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" ; ?> <!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"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" media="screen,projection" type="text/css" title="Standardstylesheet" href="default.css" /> <title>Startseite</title> </head> <body> <div id="header"> <h1>Startseite</h1> <h2>Home</h2><?php echo( "BLA" ); ?> </div> <div id="nav"> </div> </body> </html>
Neue Frage stellen?
Sie betrachten gerade: PHP in XHTML einbinden