Hi Tom!
Ich habe da Prinzip nochmal auf http://selfhtml.bitworks.de gezeigt.
Darf ich das mal ein wenig kritisieren?
## Wenn die Ausgabe-Variable schon als Parameter aus dem Post kam
if(isset($_POST['text']))
{
$text = htmlentities(stripslashes($_POST['text']));
}
Du machst hier stripslashes() ohne vorher get_magic_quotes_gpc() zu befragen?
Und was macht denn das htmlentities() hier? Wolltest du nicht intern mit Rohdaten arbeiten und die Daten erst zum Ausgabemedium hin für ebendieses anpassen?
Wenn du das Formular im IE mit Enter absendest, wird keiner der Buttons als gedrückt ausgewertet ...[2] und die Usereingabe wird im default-Zweig von switch wieder verworfen.
$text wird nur bedingt (if, switch) initialisiert. Noch gibt es keinen Fall, bei dem nicht mindestens eins der bedingten Programmteile, welche $text setzen, abgearbeitet wird. Du musst dann aber gut aufpassen, dass das nach späteren Weiterentwicklungen immer so bleibt...
Oder aber statt $default gleich $text initialisieren und dann ggf. nachher durch den $_POST-Wert oder nach belieben (switch ($btn)) ersetzen.
dedlfix
[1] geht bei deinem Beispiel nicht, da es nur eine Textarea enthält, die das Enter abfängt
[2] hier hab ich mir ein paar Zwischenschritte gespart