php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.05.2006, 14:40  
Neuer Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 16
Tscheggi
Standard Code per eval umsetzen und Funktion integrieren

Hallo,
ich habe nun schon ein paar Minuten gesucht und habe nichts gefunden was mir weiterhelfen könnte.
Ich arbeite mit einem fertigen Member-Script, daß per eval Html-Template-Dateien einliest.
In dieser Template-Datei möchte ich nun einige Einträge an Bedingungen knüpfen.

Beispiel template.html :
Code:
...
<tr bgcolor="#A7DCB4"> 
<td height="19" colspan="3" onmouseover="this.style.background='#AAAAAA';" onmouseout="this.style.background='';"> 
[img]$config[url]/images/menu_arrow.png[/img]<font size="1"> 
Test </font></td>
.....
Der Aufruf erfolgt im Moment folgendermassen :
Code:
eval ("\$navigation = \"".kpl_load_template("test")."\";");

function kpl_load_template($FILE) {
	global $config, $KPL_TEMPLATE;
  	if(!isset($KPL_TEMPLATE[$FILE])) $KPL_TEMPLATE[$FILE] = kpl_read_file($config["path"]."/templates/".$FILE.".html");
	return str_replace("\"", "\\\"", $KPL_TEMPLATE[$FILE]);
}
Und so stelle ich mir das vor :
Code:
...
if (bedingungerfuellt)
{
<tr bgcolor="#A7DCB4"> 
<td height="19" colspan="3" onmouseover="this.style.background='#AAAAAA';" onmouseout="this.style.background='';"> 
[img]$config[url]/images/menu_arrow.png[/img]<font size="1"> 
Test </font></td>
}
.....
Geht sowas überhaupt ?
Ich hoffe Ihr könnt mir ein bisschen auf die Sprünge helfen.

Danke schonmal im voraus

Gruß
Tscheggi[/code]
Tscheggi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.05.2006, 14:48  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard Re: Code per eval umsetzen und Funktion integrieren

Zitat:
Zitat von Tscheggi
Geht sowas überhaupt ?
Probiere es aus. Naja, solange wir nicht wissen, was deine Funktion kpl_read_file so treibet, wirds schwierig, dir einen Tip zu geben.

Im übrigen ist dein Eval so wie geschrieben, derzeit völlig überflüssig
mepeisen ist offline  
Alt 09.05.2006, 14:54  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Naja funktionieren wirds nicht weil du ansich ja das PHP in deinen Template Dateien nicht mit PHP parst sondern nur ausgibst. Du solltest das ganze nicht per eval() machen sondern dir mal andere Templateengines anschauen wie die es realisieren mit if() in Templates.
Flor1an ist offline  
Alt 09.05.2006, 15:00  
Neuer Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 16
Tscheggi
Standard

Hey,
das ging aber schnell :P

Der vollständigkeithalber hier der kpl_read_file :
Code:
function kpl_read_file($FILENAME) {
	if(file_exists($FILENAME)) {
		$FILE_R = fopen($FILENAME, "r");
		$TMP_DATA = @fread($FILE_R, filesize($FILENAME));
		fclose($FILE_R);
		return $TMP_DATA;
	} else {
		global $config;
		echo "Fehler: $FILENAME konnte nicht geladen werden!
Entweder ist diese Datei nicht auf dem Server vorhanden, oder der Absolute-Pfad ist falsch!
Sollte der Fehler erneut auftreten, dann wenden Sie sich an: ".$config['admin_email'];
		exit;
	}
}
Wie geschrieben, mir geht es nur um die Bedingung.
Es wird bei dem Member-Script ein Menü angezeigt und für die einzelnen Menüpunkte möchte ich eine Berechtigungssteuerung "drumrum" bauen. Das heisst, wenn nicht berechtigt, wird der Menüpunkt erst gar nicht angezeigt.
Ich möchte vermeiden, das MemberScript komplett neu aufzusetzen, deshalb das "drumrum" bauen.

Danke und viele Grüße
Tscheggi
Tscheggi ist offline  
Alt 09.05.2006, 15:31  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Naja wie willst du denn in der HTML File zeigen das es sich um PHP if() Bedingungen handelt? Warum machst du überhaupt ein so kompliziertes Templatesystem entweder verwende ne richtige Klasse dann kannste auch if () Dinger in deinem Template verwenden oder schreib halt anstatt .html Dateien PHP Dateien und machst immer <?=$var;?> zur Ausgabe einer Varialbe und
<? if($a==$b): ?>
HTML
<? endif; ?>
um so IF Bedinungen zu bekommen.
Flor1an ist offline  
Alt 10.05.2006, 06:56  
Neuer Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 16
Tscheggi
Standard

Hey,

danke für die Tips.
Das TemplateSystem ist nicht von mir.
Wie bereits geschrieben handelt es sich um ein fertiges Script, bei dem ich nur das vorhandenen TemplateSystem erweitern will ohne das ganze komplett neu zu machen.

Die Alternative ist natürlich, das Script wegzukicken und es von Grund auf neu zu machen, da fehlt mir jedoch im Moment ein wenig die Zeit, deshalb die Frage, ob es hier eine Möglichkeit gibt !

Viele Grüße
Tscheggi
Tscheggi ist offline  
Alt 10.05.2006, 10:46  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Nutze z.B. Smarty
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen 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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
VB Code Highlight funktion DJ Nuno PHP Tipps 2008 10 23.10.2007 05:23
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
Ist diese Funktion sicher? PHP-Fortgeschrittene 10 26.09.2005 12:53
[Erledigt] Code Funktion in Forum ermöglichen PHP-Fortgeschrittene 3 22.09.2005 11:57
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
irc bot probleme mit fread & eval PHP-Fortgeschrittene 8 02.07.2005 01:28
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php sichere templates eval

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:58 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.