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

Wie füge ich den doctype (DTD) ein?

Status
Für weitere Antworten geschlossen.

Sanchez

Neues Mitglied
Hallo,

ich möchte statt "PHP in Html" mit "Html in PHP" arbeiten, also alles ,was in einem .php File steht , steht von der ersten bis zur letzten Zeile zwischen <?php ... ?> ,da ja PHP Html ausgibt. Geht das? Also nicht wie sonst, im Html-Code abschnittsweise PHP-Code, sondern gleich über komplett alles in PHP-Code.Ich hab gelesen, man muss dazu nur den Doctype (incl. Charset und xml version..) per echo ausgeben lassen im Html-Header. Stimmt das?

Solche Fragen wurden mir in noch keinem Tutorial oder Forum beantwortet.sry:oops:

Gruß
Daniel
 
php echo

Hallo,
ich möchte statt "PHP in Html" mit "Html in PHP" arbeiten, also alles ,was in einem .php File steht , steht von der ersten bis zur letzten Zeile zwischen <?php ... ?> ,da ja PHP Html ausgibt. Geht das?
Ja
Ich hab gelesen, man muss dazu nur den Doctype (incl. Charset und xml version..) per echo ausgeben lassen im Html-Header. Stimmt das?
Der Doctype hat mit php nichts zu tun. man sollte aber sowiso einen angeben.
Alles was zwischen <?php und ?> steht muss natürlich mit echo oder print ausgegeben werden.
 
Jetzt weiß ich glaube ich was du meinst.
<?xml version="1.0" encoding="utf-8"?> beginnt mit <? welches ja den Beginn von php-code einleitet. Deswegen muss er als echo ausgegeben werden.

Aber du willst doch eh alles mit php ausgeben.

Nachtrag:
<?xml version="1.0" encoding="utf-8"?> schickt den Internetexplorer in den quirks mode.
Die Angabe ist optional und sollte man weglassen
 
Zuletzt bearbeitet:
Genau. Und zwar soll es so gesendet werden,dass es der Browser auch so versteht, als würde es "normal" per Html-Code gesendet. Sollte ja mit echo klappen , oder? Ob nun mit beginnendem <? oder per echo , macht das einen Unterschied für den Browser?
 
Ich bin mir jetzt nicht sicher ob du es richtig verstanden hast.
Darum mal ein Beispiel:
PHP:
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\" lang=\"de\" xml:lang=\"de\">
";
An den Browser wird es dann so gesendet:
HTML:
<!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">
Und so soll es doch aussehen oder ? ;)
 
Ok, eine Frage hätte ich dann doch noch:

Ist es möglich das Html-Grundgerüst

Code:
<html>
<head>
<title>t</title>
</head>
<body>

</body>
</html>

innerhalb von PHP-Code (<?php...?>) zu erzeugen?
 
Das ist schon möglich aber wozu?

PHP:
echo "
<head>
  <title>css Frame</title>
  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
echo "und so weiter";

Probiere es doch einfach aus.
 
Ich glaube du hast das Serverseitig / Clientseitig nicht verstanden.

PHP läuft Serverseitig ab, d.h. auf dem Server und wird als txt (Beispielsweise html oder xml) zurückgegeben.

Du (bzw. dein Browser) ist Clientseitig. Er wird den PHP Code niemals zu gesicht bekommen, denn der Server wertet PHP bereits aus und sendet an dich nur noch die Ausgabe.

Wenn du also echo "x"; schreibst kommt bei dir (im Browser) nur ein x an

Wenn du also den Doctype mit php echo ausgibst, dann wird beim Browser auch nur der Doctype ankommen (er wird nicht mitkriegen ob der so in der Datei steht oder ob ihn php ausgegeben hat - das ist kein Unterschied). Wieso sollte er das also nicht erkennen könne. Es bleibt für den Browser ganz normaler Quelltext.
 
.... nonsense

PHP Quellcode ist wie jeder Quellcode.
Wenn er unüberischtlich wirkt dann liegt das am falschen schreiben, weil man zum Beispiel keine Ahnung hat, das man für Zeilenumbrüche "\n" und für Einrückungen "\t" benutzen muss.

Außerdem: Ist doch egal?! Der Browser kann damit so oder so umgehen, solange der Quelltext valide ist.
 
Oder du machst sozusagen PHP Pausen:
PHP:
<?php
// Hierwas
?>
<!--N wenig HTML-->
<?php
// Ne Abfrage vielleich?
if(/* Blabla */ == /* xyz */)
{
?>
Hier die Ausgabe in HTML vielleicht?
<?php
}
?>
WIe du gesehen hast, kannst du ziwschen einer If Abfrage HTML Code wieder reintun. SO hast du schönen HTML Code und keinen stress mit den echo's / prints
 
elegant sind lösungen, die du immer wieder verwenden kannst.

mach dir z.b. eine head.php in die du deinen header doctype etc packst , microtime() zum berechnen der aufbauzeiten u.s.w.
und dann z.b. eine bottom.php in der copyright, footer, berechnete aufbauzeit u.s.w stehen.

deine index.php (startseite könnte dann so aussehen:
PHP:
require_once("head.php"); // head, doctype und solches zeugs

// hier dein ganzer code 

require_once("bottom.php"); // copyright, footer etc
so machst du dir nur einmal eine passende datei und kannst sie immer wieder mit require_once() oder include() oder include_once() verwenden
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben