Ich habe mir als Vorlage das Tutorial von Nils Hitze hier aus dem Forum genommen und angepasst.
So hier mal etwas com Code
das Template
der Parser
so und hier das Probelm bzw. mein Logik Fehler
so man kann in eine Variable ( in diesen fall die $content ) keine if anfragen machen , oder? Meine Frage dazu wie komm ich trotzdem dahin das die "action=make_conf" durchfeführt wird?
Achso das ist das erstmal das ich ein TemplateParser einsetze!
Danke schon mal im Vorraus
Andi
So hier mal etwas com Code
das Template
HTML:
<center>
<table border="0" width="1000">
<tr>
<td><table border="1" width="1000" height="150">
<tr>
<td width="700">{HEADER_TXT}</td>
</tr>
</table></td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td><table border="0" width="1000" height="200">
<tr>
<td valign="top">
<table border="1" width="200">
<tr>
<td>{MENU}</td>
</tr>
</table>
</td>
<td width="15"></td>
<td valign="top">
<table border="1" width="800">
<tr>
<td>{CONTENT}</td>
</tr>
</table>
</td>
</tr>
</td>
</tr>
</table>
</center>
der Parser
PHP:
<?php
$template = './template.tpl';
$var_array = array(//"CSS" => $css,
"HEADER_TXT" => 'Willkommen bei Setup zu RedFame v.0.1',
"MENU" => "Schritt 1",
"CONTENT" => $content
);
Class parser
{
var $template;
var $temp_content;
function parser($template, $var_array)
{
$this->template = $template;
$this->temp_content = file($this->template);
$parsed = $this->rplc($var_array);
echo(implode("", $this->temp_content));
}
function rplc($var_array)
{
foreach($var_array as $key => $value)
{
//$regex[var_name] : {VARIABLE}
$regex['var_name'] = "#{[[:space:]]*?(".strtoupper($key)."){1,}?[[:space:]]*?}#si";
$this->temp_content = preg_replace($regex['var_name'], $value, $this->temp_content);
}
}
}
?>
so und hier das Probelm bzw. mein Logik Fehler
PHP:
<?php
$content = '
Trag hier bitte deine Datenbank Daten ein:</br></br>
<form action="./index.php?action=make_conf" method="post">
<table border="0">
<tr>
<td valign="top">Adresse:</td>
<td><input type="text" name="host" value="localhost"></td>
</tr>
<tr>
<td valign="top">Benutzername:</td>
<td><input type="text" name="user" value=""></td>
</tr>
<tr>
<td valign="top">Passwort:</td>
<td><input type="text" name="pass" value=""></td>
</tr>
<tr>
<td></td>
<td></br><input type="submit" value="Testen und Schreiben"></td>
</tr>
</table>
</form>
'
if ( $_REQUEST["make_conf"] ) {
$host = $_POST["host"];
$user = $_POST["user"];
$pass = $_POST["pass"];
/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $host, $user, $pass )
or die ( "Konnte keine Verbindung zur Datenbank herstellen, bitte prüfen Sie die eingegebenen Daten!" );
if ($db == "true" ) { echo " Erfolg!"; }
}
;
?>
so man kann in eine Variable ( in diesen fall die $content ) keine if anfragen machen , oder? Meine Frage dazu wie komm ich trotzdem dahin das die "action=make_conf" durchfeführt wird?
Achso das ist das erstmal das ich ein TemplateParser einsetze!
Danke schon mal im Vorraus
Andi