php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.10.2009, 19:54  
Neuer Benutzer
 
Registriert seit: 02.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Paratron befindet sich auf einem aufstrebenden Ast
Standard PHP wird im Template nicht erkannt

Hi,
ich habe mir eine Website gebastelt bei der ich den Seiteninhalt mit PHP in ein HTML-Template einfüge.
D.H. ich habe ein Template mit verschiedenen DIVs in das ich Platzhalter geschrieben hab. Der Code sieht folgendermaßen aus:

HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Antiquit&auml;ten</title>
  </head>
  <body>
     
     <div id="head">
        <h1><img src="img/banner.gif" /></h1>        
        [%navigation%]
     </div>

     
     <div id= "background">      
     	  <div id="content">       
          	   [%content%]
	 	  </div>   

    <div id="footer">
	</div> 
     </div>    
  </body>
</html> 
So dann gibts ein Template in dem einfach nur die Navigation als UL drin ist, nix besonderes. Schließlich noch ein PHP-Script was die Templates und den Inhalt zusammenklebt und ausgibt:
PHP-Code:
<?php 
#Templates:
$layout_template "linkweb.tpl";
$navigation_template "linkweb-nav.tpl";

# Inhaltsdateien:
$content_files = array();
$content_files['home'] = "0001.txt";
$content_files['leistung'] = "0002.txt";
$content_files['galerie'] = "0003.php";


# Templates einlesen:
$layout_content file_get_contents($layout_template);
$navigation_content file_get_contents($navigation_template);

#Seite aus Template einfügen
$page $layout_content;
$page preg_replace("/\[\%navigation\%\]/"$navigation_content$page);

#Inhalt seitenabhängig einlesen:
$get_page "";
if(isset(
$_GET['page']))
    
$get_page $_GET['page'];    
else
    
$get_page "home";
 
$content_lines file($content_files[$get_page]); 
 
$content implode(""$content_lines); 

 
#Inhalt in Seite einfügen: 
 
$page preg_replace("/\[\%content\%\]/"$content$page); 

 
#Fertige Seite: 
 
echo $page;
 
?>
Das klappt jetzt auch super. Ich habe für jede Unterseite (Home, Gallery, Leistungen ect.) eine Textdatei (z.B. 0001.txt) in dem einfacher HTML-Quelltext steht. Der wird auch einwandfrei angezeigt. Jetzt möchte ich aber noch ein wenig mit PHP arbeiten. Wenn ich aber ein PHP-Script in die Textdatei notiere, wird das Script nicht erkannt und der Quellcode einfach auf dem Bildschirm ausgegeben. Weiß jemand wie ich das schaffen kann, dass der Quellcode auch ausgeführt wird?
Vielen Dank
Paratron ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.10.2009, 19:57  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

*.txt als *.php - Datei abspeichern!
Asipak ist offline  
Alt 02.10.2009, 22:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ohne Include oder Aufruf des Scripts gar nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 02.10.2009, 23:58  
Neuer Benutzer
 
Registriert seit: 02.10.2009
Beiträge: 11
PHP-Kenntnisse:
Fortgeschritten
Brom befindet sich auf einem aufstrebenden Ast
Standard

Schau dir mal die PHP Funktion eval() an.

Gruß,
Brom
Brom ist offline  
Alt 03.10.2009, 00:43  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Schau dir mal die PHP Funktion eval() an.
Und dann am besten die Googlesuchergebnisse zu „eval is evil“.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 03.10.2009, 00:53  
Erfahrener Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 233
PHP-Kenntnisse:
Anfänger
Steve befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Und dann am besten die Googlesuchergebnisse zu „eval is evil“.
Und wo ist rein sicherheitstechnisch der Unterschied zu
file_get_contents() + eval()
und
include()?
Steve ist offline  
Alt 03.10.2009, 09:35  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Ich sag nur soviel dazu:

Template Engine – Wikipedia
Template – Wikipedia

Warum leute immer wieder versuchen daraus auszubrechen ist mir ein Rätzel.

Mfg Splasch
splasch ist offline  
Alt 03.10.2009, 12:12  
Neuer Benutzer
 
Registriert seit: 02.10.2009
Beiträge: 11
PHP-Kenntnisse:
Fortgeschritten
Brom befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Und dann am besten die Googlesuchergebnisse zu „eval is evil“.
Warum ? Es wird ja nur PHP Code ausgeführt den er selber geschrieben hat, da dürfte also kein böser Code dazwischen sein. Aufpassen würde ich nur bei Fremden Eingaben z.B. über ein Formular.
Brom ist offline  
Alt 03.10.2009, 12:19  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Könnte es sein das die Datei in der der php-Code eingefügt wird (also die Template-Seite) als htm File abgespeichert ist?

Dann bitte als .php speichern
pfump ist offline  
Alt 03.10.2009, 14:37  
Neuer Benutzer
 
Registriert seit: 02.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Paratron befindet sich auf einem aufstrebenden Ast
Standard

Hi,
also ich muss sagen, dass mir nicht alle Antworten weiterhelfen. Die .txt-Datei oder die .tpl-Datei als .php abzuspeichern bringt keine änderung. Könntet ihr mir kurz sagen wo ich eval bzw. include anwenden soll? bin ziemlich anfänger...
danke
Paratron ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Scriptangebot Serpent Template Engine McSodbrenner Scriptbörse 3 26.03.2010 21:37
[Erledigt] Variablen in einem Template ersetzen KarlEgon PHP-Fortgeschrittene 69 04.12.2008 14:51
Lieber Template oder Normal für ein community? mysteryxxx PHP Tipps 2008 8 17.09.2008 23:04
Datenbankfelder direkt im Template verfügbar phpbeginner Datenbanken 3 29.07.2006 20:30
Eckige Klammern in Template nutshell PHP Tipps 2006 9 05.06.2006 19:12
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
Template Error: set_root: ./tpl/ is not a directory argon PHP Tipps 2007 11 01.11.2005 14:30
Template verständniss problem; referenz PHP Tipps 2005 17 19.05.2005 06:06
Template: Verschachteln von foreach PHP Tipps 2005 2 12.05.2005 15:37
Smarty Problem (Template Laden) JanM PHP Tipps 2005 5 11.05.2005 16:36
Php Code als Variable definieren und in Template darstellen PHP Tipps 2004-2 4 31.12.2004 16:22
Template erstellen? PHP Tipps 2004-2 10 08.12.2004 09:41
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
[Erledigt] Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php navigation template, $page = preg_replace(\/\\[\\%content\\%\\]/\, $content, $page);, php in template wird nicht erkannt, php in txt wird nicht erkannt, php bildergalerie seitenabhängig einlesen, \<?\ wird nicht erkannt php, unterschied eval evil php, file_get_contents($navigation_template)

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum