Template Funktion ich verzweifle noch!!!!!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Template Funktion ich verzweifle noch!!!!!

Beitrag von rox²³ »

Ich krieg ne Asche ich sitze nun seit fast einer Woche vor dem Problem.
Hab schon in unzähligen Foren um rat gefragt.

Ich bekomme einfach nicht zustande das die Templates richtig geparst werden.

index.php:

Code: Alles auswählen

<?
$tmpl_name = 'index.tpl';
$tmpl_content[title] = 'echo "blabla";
$gaga = 123 + 123;
echo $gaga;';
$tmpl_content[text] = 'echo "Hallo Welt";
$baba = 999 * 999;
echo $baba;';
require_once('./templates/class_template.php');
template ($tmpl_name, $tmpl_content);
echo $work;
?>
index.tpl:

Code: Alles auswählen

<html>
<head>
<title>%%title%%</title>
</head>
<body><center>%%text%%</center>
</body>
</html>
class_template.php:

Code: Alles auswählen

<? 
function template ($tmpl_name, $tmpl_content) {
$dir = 'c:\\intranet\\Apache2\\htdocs\\test\\templates';
  global $work;
      $pfad = "".$dir."\\".$tmpl_name."";
      $tmpl = file_get_contents($pfad);
      if ( trim($tmpl) != "" ) {
        $work = $tmpl;
        while ( list( $key, $val ) = each( $tmpl_content ) ) { 
			    $x = "%%" . strtolower($key) . "%%";
          $work = str_replace($x, "<?".$val."?>", $work);
          }
		  }
		return $work;
}
?>
Warum wird der php code nicht ausgeführt und statt dessen nur so angezeigt wie er in der index.php steht?

Ich hab auch schon eval() ausprobiert nix führt zum erfolg :cry:
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

PHP-Code beginnt i.d.R. mit

Code: Alles auswählen

<?php
:D

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

Das heist jetzt?
Was muss ich ändern?
Sorry aber ich raff imoment nix mehr :-?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Re: Template Funktion ich verzweifle noch!!!!!

Beitrag von Leuchte »

index.php:
<?php
$tmpl_name = 'index.tpl';
$tmpl_content[title] = 'echo "blabla";
$gaga = 123 + 123;
echo $gaga;';
$tmpl_content[text] = 'echo "Hallo Welt";
$baba = 999 * 999;
echo $baba;';
require_once('./templates/class_template.php');
template ($tmpl_name, $tmpl_content);
echo $work;
?>
class_template.php:
<?php
function template ($tmpl_name, $tmpl_content) {
$dir = 'c:\\intranet\\Apache2\\htdocs\\test\\templates';
global $work;
$pfad = "".$dir."\\".$tmpl_name."";
$tmpl = file_get_contents($pfad);
if ( trim($tmpl) != "" ) {
$work = $tmpl;
while ( list( $key, $val ) = each( $tmpl_content ) ) {
$x = "%%" . strtolower($key) . "%%";
$work = str_replace($x, "<?".$val."?>", $work);
}
}
return $work;
}
?>
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

Ja das hab ich mal so übernommen aber ändert daran trotsdem nix. Es geht weder mit <? noch mit <?php.

Ich dachte eigentlich immer das ist es egal ist ob mit <? oder <?php.

P.S. Ich hab nen kleines einfaches Forum bestehend aus 34 Dateien die alle mit <? anfangen und das funzt auch prima.

P.P.S. Langsam denke ich es liegt an meinem Webserver :(

EDIT: Am Webserver liegts auch nicht habs getestet.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

rox²³ hat geschrieben: Ich dachte eigentlich immer das ist es egal ist ob mit <? oder <?php.
ist einstellungssache in der php.ini
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

Naja bei mir funktioniert beides auf dem Testwebserver sowohl auf dem Server des Hosters.

Aber wieso bekomme ich die Templates nicht odnungsgemäß ausgegeben?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Weil's mir gerade auffällt:

Code: Alles auswählen

$tmpl_content[title] = 'echo "blabla"; 
sollte wohl

Code: Alles auswählen

$tmpl_content['title'] = 'blabla';
heißen (das gleiche ein paar Zeilen später nochmal) und

Code: Alles auswählen

template ($tmpl_name, $tmpl_content); 
echo $work; 
besser

Code: Alles auswählen

echo template ($tmpl_name, $tmpl_content);
Ich würde auch mal schauen, dass du dir lokal die PHP-Warnungen anzeigen lässt.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

THX das funktioniert :grin:
Endlich ich dachte schon ich muss mir nen Strick nehmen ^^
Antworten

Zurück zu „Coding & Technik“