SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.10.2004, 22:37:12
Burgi1986 Burgi1986 ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 4
Templates in Datenbank

Hi

Ich möchte meine Page mit Templates machen. Der ganze HTML-Code liegt in der MySQL-Datenbank. Wenn nun der HTML-Code aus der DB ausgelesen und in die eigentliche Seite integriert wird, hab ich ein Problem.

Alles was HTML ist funktioniert einwandfrei, jedoch hab ich im HTML-Code Arrays eingebaut, die nachdem der Code in die Page transferiert wurde, den Text aus der DB holen sollten. Und genau das funzt net. Aber ne Page ohne Text ist doch doof, darum brauch ich HILFE! :)

-- index.php

Code:
$template = '$row_templates[head]';
eval ("$template = "$template";");
echo $template;
Damit wird das Template aus der Datenbank ausgelesen.

-- Template in Datenbank

Code:
<html>
<head>
<title>$row_sprache[title]</title>
</head>
<body>
<table>
<tr>
<td>
$row_sprache[text1]
</td>
</tr>
</table>
</body>
</html>
Der HTML-Code wird dabei wie gesagt korrekt in die index.php eingefügt, jedoch werden die ganzen $row_sprache[bla] nicht ausgeführt.

Weiss jemand rat, was ich machen muss, damit der ganze Text auch noch ausgelesen wird?
__________________
Greets Burgi
Mit Zitat antworten
  #2  
Alt 21.10.2004, 23:29:13
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
willkommen im forum!

Zitat:
darum brauch ich HILFE!
in der tat. professionelle hilfe.

der sinn hinter templates ist, programmierlogik und layout zu trennen. desweitern wird der inhalt vornehmerweise in einer db gespeichert.

das layout steht in html/css-dateien.

der inhalt dagegen in einer datenbank.

die templates enthalten kein _fitzelchen_ php.

der inhalt kein _fitzelchen_ html.
Mit Zitat antworten
  #3  
Alt 22.10.2004, 06:29:38
Burgi1986 Burgi1986 ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 4
Jupp, wozu die Templates gut sind weiss ich auch, deshalb will ich se ja auch anwenden.
Ich möcht aber den HTML-CODE in der DB haben, den ganzen Text und die CSS ebenfalls.

Ich hab bei mir drei tabellen angelegt, die eine ist temlates, die andere style, und die dritte sprache.

Nun muss zuerst der ganze HTML-Code aus templates augelesen werden (klappt bereits). Dann soll da in dem HTML-Code aber auch noch Text drin stehen, der eben auch noch aus der DB abgerufen werden soll. Die CSS, kämen dann eben noch dazu, aber zuerst muss das ganze mit Text funktionieren, bevor ich meine ganzen CSS_Codes in die DB eintrage.

Ist das den nicht realisierbar? Ich hab eben bei meinem WBB-Board gesehen, dass die das auch irgendwie hingekriegt haben, also sollt ich das ja auch können! :)
__________________
Greets Burgi
Mit Zitat antworten
  #4  
Alt 22.10.2004, 08:25:09
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
Zitat:
Jupp, wozu die Templates gut sind weiss ich auch, deshalb will ich se ja auch anwenden.
warum steht dann das html nicht in html-dateien?

warum steht dann php in deinem html?

ach:

PHP-Code:
$template '$row_templates[head]'
schon mal überlegt, dass es eigentlich so aussehen muss:

"$row_templates[ 'head' ]"; und du die " auch einfach weglassen könntest, also

PHP-Code:
$template $row_templates'head' ]; 
?
Mit Zitat antworten
  #5  
Alt 22.10.2004, 16:47:57
Burgi1986 Burgi1986 ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 4
Zitat:
Original geschrieben von feuervogel
warum steht dann das html nicht in html-dateien?
Spielt es eine Rolle ob der HTML-Code in einer *.html-Datei steht oder ob er nun in der DB ist? Ich denke nicht, denn importieren kann ich den so oder so, und um ihn nacher über das Admin-Panel zu bearbeiten ist es leichter wenn er in der DB steht.

Zitat:
Original geschrieben von feuervogel

warum steht dann php in deinem html?
Weil ich gedacht (oder es zumindest so verstanden) habe, dass das mit der eval() funktionieren sollte.

Zitat:
Original geschrieben von feuervogel

ach:

PHP-Code:
$template '$row_templates[head]'
schon mal überlegt, dass es eigentlich so aussehen muss:

"$row_templates[ 'head' ]"; und du die " auch einfach weglassen könntest, also

PHP-Code:
$template $row_templates'head' ]; 
?
Jupp, da hast du natürlich recht. Aber die Abfrage welche im HTML-Code steht wird trotzdem nicht ausgelesen.

Auf die ganze Idee mit den Templates bin ich gekommen, als ich mir mal das Woltlab-Board etwas genauer angeschaut hab. Komischerweise haben die dort auch PHP im HTML-Code, oder täusche ich mich da? Also müsste mein Wunsch doch irgendwie realisierbar sein??
__________________
Greets Burgi
Mit Zitat antworten
  #6  
Alt 22.10.2004, 20:24:40
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von Burgi1986
Spielt es eine Rolle ob der HTML-Code in einer *.html-Datei steht oder ob er nun in der DB ist?
Ja, weil es einen DB Request mehr kostet.
Mit Zitat antworten
  #7  
Alt 22.10.2004, 21:57:52
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
> Weil ich gedacht (oder es zumindest so verstanden) habe, dass das mit der eval() funktionieren sollte.

es geht nicht ums "funktionieren" oder wie es sonst wo steht. der sinn hinter templates ist, layout und programmierung zu trennen. demnach hat php im html nichts zu suchen.

ich programmiere nun schon 2 jahre mit php die verschiedensten dinge, ich habe noch nie das bedürfnis gehabt, eval() zu benutzen.

schau dir mal eine gescheite template-engine an, wie z.b. smarty
Mit Zitat antworten
  #8  
Alt 22.10.2004, 22:53:33
Quad Quad ist offline
Anfänger
 
Registriert seit: Oct 2004
Ort: FFM
Beiträge: 4
Quad eine Nachricht über ICQ schicken
Guten Abend,

ich muss hier auch mal meinen Kommentar ablassen:

Smarty ist zwar mit Abstand die beste Template-Engine, verleiht aber gerade Anänger oft dazu, weiterhin die ein oder anderen Logik-Elemente in die Templates einzubauen. Ich denke da gerade an die schönen IF-Klauseln. ;)

Für den Anfang ist da wohl eine einfachere Engine wie KTemplate besser. Wenn das Prinzip und die Handhabung klar ist, kann immernoch auf ein besseres System umgestiegen werden.
Mit Zitat antworten
  #9  
Alt 23.10.2004, 18:37:17
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von Quad
Für den Anfang ist da wohl eine einfachere Engine wie KTemplate besser. Wenn das Prinzip und die Handhabung klar ist, kann immernoch auf ein besseres System umgestiegen werden.
Wenn man KTemplate verstanden hat, steigt man nicht mehr um.

Ich verwende diese Klasse schon seit einiger Zeit.
Mit Zitat antworten
  #10  
Alt 23.10.2004, 20:13:02
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
Zitat:
Smarty ist zwar mit Abstand die beste Template-Engine, verleiht aber gerade Anänger oft dazu, weiterhin die ein oder anderen Logik-Elemente in die Templates einzubauen. Ich denke da gerade an die schönen IF-Klauseln. ;)
öhm, es ist klar, dass die layout-logik nicht ins php und die programmier-logik nicht ins template gehört. wenn ein bestimmter zustand eintritt und es bei werta ein grüner button und bei wertb ein roter sein soll, liefer das php den wert des zustandes und im template wird entschieden, wie das ausgewertet wird.

ich benutze smarty nun schon recht lange und ausgiebig und es kommen ne menge if-abfragen in meinen templates vor.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:27:21 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt