WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » PHP -> replace » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
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 !

Nach oben