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

Head-Tags von Include abhängig machen

Status
Für weitere Antworten geschlossen.

P51D

Mitglied
Hallo

beim Validieren meiner Seite bin ich auf einen ganz listigen Fehler gestossen, bei dem ich leider nicht weiss wie ich ihn beseitigen kann.

der "normale Aufbau" einer Seite sieht ja in etwa so aus:
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" lang="en" xml:lang="en">
<head>
<title>Test</title>
<meta XXXXX />
</head>
<body>
XXXXXXXX
</body>
</html>
jetzt wird mir im Body via PHP include die Seite eingebunden, die der Nutzer gerne sehen möchte. Aber jede Seite hat auch schön brav einen anderen Titel.
Wenn ich diesen jetzt im Body wieder definiere (ich weiss, dass er dort nicht hingehört) funktioniert dies ja nicht immer.
Wie kann ich jetzt vom body aus den Titel der Seite im Head ändern??

Hab mal etwas herumgesucht und bin auf diese Funktion gestossen, welche aber nicht wirklich das mach, was ich möchte.

und über PHP den danzen Include oberhalb vom HTML-Doctype zu machen finde ich nicht gerade die eleganteste Lösung.

Ich hoffe, ihr versteht, was ich meine
MFG
P51D
 
Du könntest den Titel jeder Seite irgendwo (z.B. Datenbank) speichern und in jeder Seite aus der Datenbank füllen.

PHP:
<title><php print documentTitle($currentPage); ?></title>

In $currentPage steht ein Bezeichner für die aktuelle Seite, documentTitle() liest den Titel der Seite aus der Datenbank.

Mit JavaScript solltest Du das auf keinen Fall machen, da das abschaltbar ist.

Und was Du includest, ist doch völlig Wurscht.
 
ok, und wie füttere ich dynamisch die DB? damit ich nicht für jede neue Seite die hinzugefügt wird, den Titel ergänzen muss, respektive löschen?
 
Werden die Seiten wohl auch automatisch erzeugt? Dann kannst Du doch dann, wenn neue Seiten erzeugt werden, auch einen Datenbank-Eintrag machen.
Wenn Du die Seiten manuell anlegst, kannst Du den DB-Eintrag auch manuell machen.
Und wenn Du einen Seitentitel von Hand änderst, ist es doch egal, ob Du das in der HTML-Datei oder in der Datenbank machst.

Oder hab ich Dich irgendwie falsch verstanden?
 
ok, mal sehen ob ich das irgendie richtig verstanden habe:

Beim Menu, wo die home.php?page=XXX defniert wird, müsste ich im gleichen zug auch noch zum Beispiel auf eine Log-Datei schreiben, wass der Titel ist, was für metas sonst noch nötig sind und diese dann beim Reload (wenn anderer Link gewählt wurde) auslesen und im head via Variable zurückreferenzieren?
 
Wenn Du Deine Seiten über home.php?page=XXX aufrufst, dann kannst Du im home.php so wie oben geschrieben auf Deine Datenbank zugreifen und setzt dann für $currentPage Deinen Wert "XXX" ein. In der Datenbank ist dann zum Index "Seitenname" alles hinterlegt, was die Seite so braucht, Seitentitel, Keywords, Description, etc.
 
und wie müsste dann die db aussehen?
kannst du ein Beispiel machen für die Seite "XXX"?
Ich nehme nicht an, dass dann wieder htm Tags ins Spiel kommen.
 
Wie die Tabelle in der Datenbank aussieht, bleubt allein Dir überlassen. Kommt ja drauf an, welche Informationen Du da hinterlegen willst, die sich auf allen Seiten unterscheiden.

Ich lege da üblicherweise eine an, wo der Index der Seitenname ist und dann noch Titel, Keywords und Desscription. Das lese ich dann auf jeder Seite im Header aus und packe es an die entsprechenden Stelle in der Seite (wie ganz am Anfang schon beschrieben).

Ich würde Dir gerne helfen, habe aber das Gefühl, dass wir irgendwie aneinander vorbei reden, bzw. Du irgendwas kompliziertes vermutest, was Du gar nicht brauchst. Hast Du PHP- bzw. Datenbank-Kenntnisse oder gar nicht? Dann kann ich Dir viel erzählen, wenn Dir die Grundlagen fehlen.
 
meine Kenntnisse reichen von Assembler (schwach) zu C (sehr gut) über C++ (gut) bis zu PHP (im kommen), aber mit DB's hab ich bis jetzt noch nie gearbeitet.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben