Hallo in die Runde,
ich habe lokal ein PHP-Formular getestet, welches ungefähr so aussieht:
<form action="#" method="post">
<input type="hidden" name="form_id" value="registerForm" />
<label for="Vorname">Vorname:</label>
<input type="text" id="Vorname" name="Vorname" value="<?=$_POST[Vorname] ?>" />
Mit reinem PHP funktioniert das Formular wie gewünscht.
Wenn ich diesen Code aber so 1:1 als PHP-Code einer Extension im Typo3-FE mir anschaue, dann wird der Inhalt des Feldes mit <?=$_POST[ vorbelegt und unmittelbar hinter dem Textfeld folgt dann " />.
Das ganze sieht dann so aus wie auf dem Anhang.
Offensichtlich wird für value der Wert <?=$_POST[ ermittelt anstatt <?=$_POST[Vorname] ?>
Die Fragen sind dabei, wie ich es schaffen kann, dass er die richtige Anweisung für value erkennt sowie die dann tatsächliche Ausgabe von <?=$_POST[Vorname] ?> im Formular unterdrückt, so wie das im reinen PHP der Fall ist?
Ich hab schon die diversen Kombinationsmöglichkeiten von " mit ' erfolglos ausprobiert.
Jemand eine Idee?
Danke im Voraus und Gruß

Puh, da weiß man gar nicht wo man anfangen soll - ich mach mal eine Liste:
1) Tolle XSS Sicherheitslücke wäre das, wenn das klappen würde
2) In HTML Templates von TYPO3 kann man kein PHP ausführen
3) Selbst wenn man PHP ausführen könnte, wäre der Code ultradreckig. Versuche nur PHP oder nur HTML zu schreiben
4) Um dir weiterhelfen zu können, müssten wir wissen, wie du das Formular eingebunden hast
Hi,
zu 2) Mein PHP-Code liegt in einer eigens geschrieben Extension und nicht im HTML-Template...
zu 4) Ich habe im Backend mit dem Kickstarter eine Extension angelegt und daraufhin die generierte class.tx_XXX_pi1.php manipuliert. Ja und in der Funktion init gib ich dann besagtes Formular zurück...
Ich bin ziemlich neu in TYPO3, aber ich kann mir nicht vorstellen, dass mein akutes Problem so unlösbar wäre...
Falls die Beschreibungen undeutlich oder ungenau sind, gerne noch mal fragen. Wie gesagt: Ich bin ein TYPO3-Neuling😃
Dann z.B. so:
$content = '
<form action="#" method="post">
<input type="hidden" name="form_id" value="registerForm" />
<label for="Vorname">Vorname:</label>
<input type="text" id="Vorname" name="Vorname" value="' . htmlentities($_POST['Vorname']) . '" />
';
Hallo,
besten Dank für die Antwort.
In meiner Typo3-Extension funktioniert es nun wie gewünscht.
Allerdings verhält sich mein PHP nun anders.
Ich hatte ja vorher den Fall, dass es auf TYPO3-Seite nicht klappte, aber auf PHP-Seite schon. Mit dem vorgeschlagenen Beispiel haben sich die Rollen getauscht. Auf PHP-Seite sieht das Formular im Browser aus wie im Anhang.
Wäre natürlich toll, wenn man es einheitlich halten könnte, so dass der Code sich sowohl im PHP-Formular also auch in der TYPO3-Extension gleich verhält.
Jemand noch eine Idee vielleicht?
