von Can |
Oder so |
von c3o |
Klar kann er mehr beinhalten als <logout>! Was ich vorher vergessen hab war dass du keinen PHP-Code hast sondern Plaintext, daher muss man den zu eval'enden Code "Aus-PHP-en":
eval('?>'.str_replace('<logout>', '<? session_destroy(); ?>', $text).'<?');
Funktionierendes Beispiel: http://c3o.org/test/php/phpeval.php |
von ATooM |
Funktioniert nun.
Es lag daran, dass es in einem text war der noch mehr beinhaltet ausser <logout> |
von Can |
Puh....
echo "$text vor Ersetzung: " . htmlspecialchars($text) . "<br>n";
$text=str_replace('<logout>', 'session_destroy();', $text);
echo "$text nach Ersetzung: " . $text;
eval($text);
Post mal die Ausgabe.
Natürlich ist es auch so, dass in $text nur <logout> stehen darf, wenn da noch mehr steht, wird das ebenfalls auszuführen versucht. |
von ATooM |
Bei beiden varianten immer noch der fehler ! |
von Can |
Neue Variante:
eval(str_replace('<logout>', 'session_destroy();', $text)); |
von Can |
Kein Wunder....
$text=str_replace('<logout>', '<? session_destroy(); ?>', $text);
eval($text);
Was steht jetzt in $text? |
von ATooM |
da steht jetzt nicht viel drin ausser
<logout> |
von c3o |
Zeig uns doch mal $text ... |
von ATooM |
Woran könnte das liegen ? |
von ATooM |
<B>
Parse error: parse error in c:apachehtdocslosefunction.inc.php(55) : eval()'d code on line 1
</b>
Das ist der Fehler. |
von einstein |
ATooM schrieb am 2002-12-30 19:54 :
Das eval wofür steht das ?
|
Klick auf den Link, dann weißt du es
eval -- Evaluate a string as PHP code |
So falsch scheint mir das aber gar nicht, gibt es eine Fehlermeldung oder ähnliches oder passiert einfach nur nichts? Dann liegt das vielleicht daran, dass das nicht ganz richtig eingebunden worden ist. |
von ATooM |
ausserdem funktioniert das nicht ganz eher gesagt garnicht |
von ATooM |
Das eval wofür steht das ? |
von c3o |
eval(str_replace('<logout>', '<? session_destroy(); ?>', $text));
[ Diese Nachricht wurde geändert von: c3o am 2002-12-30 16:53 ] |
von ATooM |
Es gibt einen Text, der in der Mysql Datenbank steht. Diesen Text frage ich nun ab. An einer Stelle in dem Text steht "<logout>" und die Stelle soll dann mit der PHP Funktion ersetzt werden. |
von Can |
Hm...kannst du das noch etwas genauer beschreiben? Willst du abfragen, ob in einer Variable "<logout>" steht und dann die session freigeben?
Can |
von ATooM |
Hallo,
ich habe ein Problem!
Es gibt einen text in dem steht irgendwo <logout> an der Stelle, wo logout steht soll der PHP - Code <? session_destroy(); ?> reinkommen... Wie mach ich das am besten ? |