Probleme mit mysql_insert

Hi,

jo, ich verstehe Dein Problem auch erst jetzt. Du hättest in diesem Post auch die tatsächliche Ausgabe posten müssen, statt das zu ersetzen...

Du kannst Sven's Vorschlag benutzen, um das zu ersetzen, aber Du solltest dann auch wissen, was Du tust. Ich weiß ja nicht, wo diese Variableninhalte herkommen. Eine zweite Möglichkeit wäre, eigene Platzhalter in der Textvorlage zu verwenden und mit str_replace oder auch preg_replace, wenn nötig, zu ersetzen (quasi wie bei einer Templateengine).

LG
 
Eine Frage hab ich dann aber doch noch!

In meinem Dummy Text, bzw. in meiner Variable $com->text, ist sowohl Text der bleiben soll, als auch die Variablen die geändert werden sollen.

Wenn ich eval
PHP:
( "return eval('return $com->text;');");
mache, bekomme ich ne Fehlermeldung.
PHP:
Parse error: syntax error, unexpected '<' in /www/htdocs/w0058bda/action/4.php(30) : eval()'d code(1) : eval()'d code on line 1


Wenn ich nur
PHP:
( "return eval('return $new;');");
mache,

dann bleibt der Variablenname.
 
Eine Frage hab ich dann aber doch noch!

In meinem Dummy Text, bzw. in meiner Variable $com->text, ist sowohl Text der bleiben soll, als auch die Variablen die geändert werden sollen.

Wenn ich eval
PHP:
( "return eval('return $com->text;');");
mache, bekomme ich ne Fehlermeldung.
PHP:
Parse error: syntax error, unexpected '<' in /www/htdocs/w0058bda/action/4.php(30) : eval()'d code(1) : eval()'d code on line 1


Wenn ich nur
PHP:
( "return eval('return $new;');");
mache,

dann bleibt der Variablenname.

Alles klar
PHP:
eval ("\$com->text = \"$com->text\";");
 
Dann muss der Rückgabewert des "inneren" eval() ebenfalls gequoted werden:
Code:
echo eval( "return eval('return \"Eine Variable: $com->text und Text der Bleibt wie er ist!\"; ');");

(Beachte, dass es Doppel-Quotes sind, mit einfachen würde die Variable nicht ersetzt werden)
 
Wobei ich dir doch unbedingt kuddeldaddeldu's Mahnung ans Herz legen möchte...eval() verarbeitet alles als PHP-Code, die Angriffsmöglichkeiten und Fehlerquellen sind dort kaum abzusehen.
Eine Arbeit mit Platzhaltern ist da unbedingt empfehlenswerter, so dass wirklich nur das ersetzt wird, was ersetzt werden soll.
 
wobei ich dieses ganze Konstrukt, Textbausteine mit Variablen in einer Tabelle, noch dazu in der gleichen, wie die eigentlichen Daten, zu speichern ziemlich merkwürdig finde. Warum lagerst Du das nicht in include-Dateien aus?

Könnte z.B. so aussehen:

Textvorlage:
PHP:
sdfklgjdfkljg ldfjkg <?php echo $var1; ?> lsdkfjsdklfj <?php echo $var2; ?> sdflgjf

Script:
PHP:
$var1 = 'Inhalt1';
$var2 = 'Inhalt2';

ob_start();
include 'vorlage.php';
$feld_inhalt = ob_get_clean();

LG
 
Zurück