Hallo,
ich hab seit längerer zeit ein problem und irgendwie komme ich net mehr weiter :(!
und zwar ich binde meine templates mit file_get_contents() ein und ersetzte wörter mit str_replace();.
nun ja - wenn ich aber an einer stelle komme wo ein Drop Down Menü ist und wo die Auswahloptionen aus der Datenbank kommen sollen komme ich nicht weiter.
Ich hab zuerst einfach das template nach "<select name="name" class="formular">"
beendet und dann ein zweites template begonnen wo dann <option value="{ID}"> und so drin steht. und danach hab ich ein 3 erstellt wo das ende vom ersten template drin steht.
Hier ist der Code:
1 Template
2 Template
3 Template
Ich hoffe das habt ihr bishier her verstanden.
Naja - dies ist finde ich ziemlich doof und man sieht ja auch in foren templates so das der ganze code von irgendeiner seite da drin steht und jetzt zb bei so nem drop down menü einfach auch ersetzt wird.
Naja und da ist mir das jetzt auch eingefallen ich kann doch einfach {USEROPTION} auch ersetzten.
Also wurde mir auch mal gesagt ich könnte in str_replace(); durch eval n php code einsetzen.
Wie auch immer sagt ja jeder das eval unsicher ist und so richtig klappt es auch nicht wie ich dachte.
Gibt es da irgendeine möglichkeit das anders hinzukriegen?
Ich will kein fertiges template system benutzen da ich gerne so ein kleines einfaches eigenes template engine habe wie auch immer ._.!
Hier ist noch der PHP Code:
Alles anzeigen
Bitte nicht lachen, ich bin halt noch net so groß erfahren in dem allen nicht mal ein PHP Buch hab ich ^^".
Würde mich aber freuen wenn mir da jemand helfen könnte :)!
Mit freundlichen Grüßen,
Illidan
ich hab seit längerer zeit ein problem und irgendwie komme ich net mehr weiter :(!
und zwar ich binde meine templates mit file_get_contents() ein und ersetzte wörter mit str_replace();.
nun ja - wenn ich aber an einer stelle komme wo ein Drop Down Menü ist und wo die Auswahloptionen aus der Datenbank kommen sollen komme ich nicht weiter.
Ich hab zuerst einfach das template nach "<select name="name" class="formular">"
beendet und dann ein zweites template begonnen wo dann <option value="{ID}"> und so drin steht. und danach hab ich ein 3 erstellt wo das ende vom ersten template drin steht.
Hier ist der Code:
1 Template
<table cellpadding="3" cellspacing="3" width="100%" valign="top" align="left">
<tr>
<td align="left" valign="top" class="tablea">
<span class="Stil2">Benutzer bearbeiten » Benutzer auswählen</span>
</td>
</tr>
<tr>
<td align="left" valign="top" class="tableb">
<span class="Stil1">Bitte wähle ein Benutzer aus, den du bearbeiten willst.</span>
<br>
<br>
<table cellpadding="3" cellspacing="0" border="0" width="100%">
<tr>
<td width="10%" valign="top">
<form method="post" action="admin.php?section=user&user=edit">
<select name="user_id" class="formular">
2 Template
<option value="{ID}">{ID} {USERNAME}</option>
3 Template
</select>
</td>
<td width="90%" valign="top"><input type="submit" name="submit_user" value="Auswählen" size="25" class="formular"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
Ich hoffe das habt ihr bishier her verstanden.
Naja - dies ist finde ich ziemlich doof und man sieht ja auch in foren templates so das der ganze code von irgendeiner seite da drin steht und jetzt zb bei so nem drop down menü einfach auch ersetzt wird.
Naja und da ist mir das jetzt auch eingefallen ich kann doch einfach {USEROPTION} auch ersetzten.
Also wurde mir auch mal gesagt ich könnte in str_replace(); durch eval n php code einsetzen.
Wie auch immer sagt ja jeder das eval unsicher ist und so richtig klappt es auch nicht wie ich dachte.
Gibt es da irgendeine möglichkeit das anders hinzukriegen?
Ich will kein fertiges template system benutzen da ich gerne so ein kleines einfaches eigenes template engine habe wie auch immer ._.!
Hier ist noch der PHP Code:
Quellcode
- $sql = "SELECT ID, username FROM users ORDER BY ID ASC";
- $result = mysql_query($sql) or die(mysql_error());
- $row = mysql_fetch_array($result);
- $tbuf = file_get_contents( "templates/admin/user_edit_1.tpl" );
- $tpl = file_get_contents( "templates/admin/user_edit_2.tpl" );
- $id = $row['ID'];
- $username = $row['username'];
- $tpl = str_replace("{ID}", $id, $tpl);
- $tpl = str_replace("{USERNAME}", $username, $tpl);
- $sql = "SELECT ID, username FROM users ORDER BY ID ASC";
- $result = mysql_query($sql) or die(mysql_error());
- while($row = mysql_fetch_array($result)) {
- $tbuf = str_replace("{USEROPTION}",eval("echo $tpl;"), $tbuf);
- }
- echo( $tbuf );
Bitte nicht lachen, ich bin halt noch net so groß erfahren in dem allen nicht mal ein PHP Buch hab ich ^^".
Würde mich aber freuen wenn mir da jemand helfen könnte :)!
Mit freundlichen Grüßen,
Illidan