Forum, neue Themen in HML

crazy_chicken

Erfahrenes Mitglied
Hallo Zusammen,

mich würde es mal interessieren, wie sowas realisiert wurde (auch hier im Forum):

beim erstellen eines neuen Themas "wie-geht-das" wird eine Datei "wie-geht-das.html" erzeugt.
Die Daten werden ja in die Datenbank geschrieben. Wie werden dann die Daten aus der DB ausgelesen, wenn das eine
.html Dateil ist?

Das einzige was ich mir vorstellen kann, jedes mal beim Posten diese .html auslesen, inhalt verändern oder iframe.
Wäre einfach mal interessant zu wissen wie das gemacht wird und wieso das so gemacht wird. :)


Und gibt es Vorteile oder Nachteile dieser Methode?


Danke im Voraus!
 
Nice.
Herzlichen Dank. Das hilft mir weiter.

Direkt die nächste Frage :)
Wie macht man dann, wenn sich auf der Seite "LoginBereich" befindet. So wie hier z.B. "Hallo crazy_chicken".
Man müsste ja auf Session zugreifen können. ?
 
sheel hat gesagt.:
im Grunde ist das ModRewrite

Ja. Ich würde mal ganz stark davon ausgehen, dass „wie-geht-das.html“ nicht auf dem Server existiert.

So eine Art „Beweis“:

URL dieses Threads: http://www.tutorials.de/php/395340-forum-neue-themen-hml.html

Den Thread erreicht ihr auch über http://www.tutorials.de/php/395340-blafasel.html oder so. Das System interessiert sich primär für die ID (395340).

Da ist eine Rewrite-Regel im Stile von…

Code:
RewriteRule ^[^/]+/([0-9]+).*\.html$ viewthread.php?id=$1

…im Einsatz.

Es ist die falsche Vorstellung, URLs als Pfadangaben zu „real“ existierenden Dateien zu verstehen. URLs sind virtuell.
 
Zuletzt bearbeitet:
Der letzte Beitrag von "mermshaus" erklärt ja dann alles. Dann ist das ja ein PHP-Datei mit einer HTML-Ausgabe.

Noch eine Frage:


Ich würde gerne einfach für mich mal ein kleines Template-System bauen.
HTML:
 --Ort--
<tr>
       <td>{%Ort%}
</tr>
--/Ort--

und mittels PHP kann man ja str_replace() und diese ersetzen. Wenn man aber mehrere Orte hat, muss man mittels Kommentare diese Stelle Kopieren und immer wieder einfügen, oder gibt es da andere Möglichkeiten?

Hoffentlich ist die Frage verständlich.:)
 
Das ist dann komplizierter, weil du eine Schleife reinpacken musst.
Ich würde das so machen:

Die Schleife kennzeichnen
HTML:
{%foreach Ort o%}
...
{%end foreach}
Diesen Teil würde ich mittels PHP aus dem Template ganz rausholen. Nun in PHP eine Schleife für das Array Ort konstruieren, im aktuellen Variablenkontext für das Template o auf das aktuelle Element im Array setzen und das Codestück innerhalb der Schleife im Template immer neu evaluieren.
 
Zurück