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
 

PHP -> replace
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&auml;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 ?

Nach oben