Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Template aufrufen klappt net! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Template aufrufen klappt net!


 
Mhulla
06-09-2005, 19:10 
 
hab hier die funktion zum aufrufen eines templates:
function gettemplate($template) {
$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));

if(file_exists("templates/".$template.".htm"))$tmpl =
implode("", file("templates/".$template.".htm"));
else {
$tmpl= implode("", file("templates/error.htm"));
$tmpl = str_replace("%%fehler%%","Seite nicht gefunden",$tmpl);
}

return $tmpl;
}
hab dann in der php-file wo ich das template aufrufen will den code:
$tmpl=gettemplate("main");
jetzt will aber der aufruf des templates nicht klappen. die seite main.htm ist im ordner templates vorhanden nur wird nicht der header, der footer und die seite ausgegeben. könnt ihr mir da weiterhelfen?

 
TobiaZ
06-09-2005, 19:15 
 
Ansätze, Fehlermeldungen, Testausgaben, sonstige Bemerkungen?

 
Mhulla
06-09-2005, 19:28 
 
nix... einfach nur ne leere seite mit quelltext <html><head></head><body></body></html>... mehr ist da nicht. kein header, kein footer, keine seite, kein nix! das is ja grad das komische

 
TobiaZ
06-09-2005, 19:33 
 
Ich hasse leute, die es einfach nicht schaffen, auf mein komplettes posting einzugehen.

oder bezieht sich das "nix" auch auf die Ansätze und Testausgaben und sonstigen Bemerkungen?

Wenn dem so ist, enschuldige bitte meinen Vorwurf und lass dir unterstellen, dass du keinerlei Eigenengagement zeigst.

 
Mhulla
06-09-2005, 19:35 
 
mit dem nix mein ich, dass da einfach nix kommt. der gibt keine ansätze von dem aus was er soll oder so. ich will einfach nur das die funktion klappt mit dem befehl zum aufrufen! aber der macht das net und ich fonde net den fehler!

 
TobiaZ
06-09-2005, 19:38 
 
der gibt keine ansätze Nee! Die sollst du liefern, damit ich dir nicht deinen Code schreiben muss.

ich will einfach nur das die funktion klappt Wer will das nicht. Aber von nichts kommt nichts. Oder neudeutsch: von nix kommt nix. :)

Wenn du mir nichts lieferst, werde ich dir in diesem Thread auch keine unterstützung mehr liefern.

 
derHund
06-09-2005, 19:43 
 
gibst du den tpl-inhalt überhaupt aus?

ansonsten, wie immer, ... script schritt für schritt nachvollziehen und die stelle suchen, wo das erste mal nicht das passiert, was du erwartest. error_reporting auf E_ALL setzen ...

 
PhilW
06-09-2005, 19:58 
 
genial ist ja auch, das $header und $footer zwar definiert werden:

$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));


aber, bin ich blind (?), was macht er weiter damit...
ich tippe darauf das er kein print oder echo verwendent..

 
TobiaZ
06-09-2005, 20:00 
 
ähnliches, wie es auch der hund bemängelt hat.

Aber wer keine Testausgaben machen will... :D

 
Mhulla
06-09-2005, 20:09 
 
sry hatte den rest des codes net mitgeliefert.


function gettemplate($template) {
$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));

if(file_exists("templates/".$template.".htm"))$tmpl =
implode("", file("templates/".$template.".htm"));
else {
$tmpl= implode("", file("templates/error.htm"));
$tmpl = str_replace("%%fehler%%","Seite nicht gefunden",$tmpl);
}

$tmpl = str_replace("%%header%%",$header,$tmpl);
$tmpl = str_replace("%%footer%%",$footer,$tmpl);

return $tmpl;
}



das passiert mit header und footer

 
derHund
06-09-2005, 21:36 
 
gibst du den tpl-inhalt überhaupt aus?
ansonsten, wie immer, ... script schritt für schritt nachvollziehen und die stelle suchen, wo das erste mal nicht das passiert, was du erwartest. error_reporting auf E_ALL setzen ...

 
TobiaZ
07-09-2005, 09:25 
 
Kümmerst du dich auch um dein Problem?

 
Mhulla
07-09-2005, 12:48 
 
ich würd ma sagen, dass es bei der if-abfrage net klappt... der gibt auch keinen error aus, obwohl ich error_reporting auf E_ALL hab... der gibt nur ne leere seite aus...

 
penizillin
07-09-2005, 12:57 
 
zeig doch mal, wie du gettemplate() anwendest.

 
Mhulla
07-09-2005, 13:01 
 
hab dann in der php-file wo ich das template aufrufen will den code:
$tmpl=gettemplate("main");
hab natürlich die function.php wo die gunktion gettemplate ist mit include eingebracht

 
penizillin
07-09-2005, 13:02 
 
wie wär's mit anschließendem var_dump($tmpl)?

 
Quetschi
07-09-2005, 13:06 
 
Man weiß immer noch nicht ob er irgendwann auch mal irgendwas ausgibt. :dontknow:

Du willst wissen ob das Script in deine If-Abfrage reingeht? mach halt mal ne Testausgabe rein :rolleyes:

 
Mhulla
07-09-2005, 13:13 
 
mit var_dump($tmpl) gibt der schonmal header und footer aus... aber die seite klappt irgendwie net. durch die if-abfrage wird ja ein selbstgeschriebener error eingefügt. der sagt das die seite main.htm nicht im ordner templates/ vorhanden ist, obwohl die da ist

 
penizillin
07-09-2005, 13:15 
 
nein, ist sie nicht. php lügt in äußerst seltenen fällen.
check mal den pfad.

 
Mhulla
07-09-2005, 13:26 
 
main.php gettemplate(main): root/admin/
main.htm template: root/admin/templates/

da die php auf root/admin/templates/main.htm zugreifen sollte... header + footer + error klappt ja nur net das template was soll...

 
penizillin
07-09-2005, 13:30 
 
ermittle den absoluten pfad (evtl. mit realpath()) und gib ihn an file_exists().

 
Mhulla
07-09-2005, 13:37 
 
Pfad ok
/usr/export/www/vhosts/funnetwork/hosting/basti2305/NEW/admin/templates/main.htm

 
penizillin
07-09-2005, 13:38 
 
glückwunsch. und file_exists() drauf?

 
Mhulla
07-09-2005, 13:41 
 
klar... hab mit realpath() den pfad ermittelt und den dann mit file_exists() überprüft

 
penizillin
07-09-2005, 13:43 
 
ok, dann können wird das thema ja als beendet ansehen?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:00 Uhr.