Zum Inhalt springen

Formular Basics

Erstellt am 17. April 2005 · 2 Antworten · letzte Antwort am 19. April 2005

Tags: Frage

Roberto ·

...sorry, mir fiel kein besserer Betreff ein. o.O

Die Formularextensions sind ja ganz o.k., doch ich dachte mir, warum nicht einfach das ganze Formular wie üblich schreiben und per PHP verarbeiten.

Ich erstellte also ein ganz normales Formular (post-Methode) und legte es als HTML-Inhalt in meine Seite. Im Formular gebe ich die Zielseite an und in dieser habe ich den PHP-Code mittels der Ext. Page PHP Content eingebunden.

Jetzt habe ich einen eigenartigen "Effekt" erzeugt, was wahrscheinlich daran liegt, dass ich irgendwas im Typo3-Seitenaufbau noch nicht verstanden habe:

1. Das Formular selbst funktioniert.
2. Die Zielseite wird korrekt aufgerufen.
3. Das PHP-Sript wird gestartet, es sind zwei mail-Befehle enthalten, die korrekt ausgeführt werden und ein print-Befehl zur Ausgabe einer Quittungsseite. Auch das funktioniert - fast. Jetzt kommt der Witz:

Es werden keine Daten aus dem Formular übernommen,
d.h. die enthaltenen Variablen (z.B. $Name etc.) werden nicht angezeigt. Variablen, die außerhalb mail und print liegen, funktionieren.

Zum Test habe ich mal phpinfo() mit in den Quelltext eingebunden - und siehe da, dort werden die Daten angezeigt. Ich verteh´s nicht. 😢

(Wenn ich die Seiten "blank" auf meinen Server lege, funktioniert es - Formular und PHP sollten also prinzipiell i.O. sein.)

Any Ideas?
Danke!

Grüße
Roberto

Roberto ·

Keiner ´ne Idee?

Nochmal kurz:
Auf der Zielseite liegt ein PHP Content. Ein dort enthaltenes phpinfo(); gibt mir an, dass die Post-Variablen korrekt belegt sind. Im print und im mail werden sie aber nicht verarbeitet, sondern leer angezeigt.

Grüße
Roberto

Roberto ·

Nun, dann will ich den Thread mal selbst abschließen. #giggle#

Habe die Lösung gefunden: Obwohl ich auf diesem Server im PHP register_globals auf On stehen habe, funktioniert das innerhalb Typo3 nicht. Das ist an sich ja ganz o.k. - man muss es nur wissen.

Also, ein Zugriff auf die Variablen über Array $HTTP_POST_VARS[] oder $_POST[] ist immer nötig und funktioniert.

Wer also bereits fertige Formulare in Typo3 übernehmen will, kann diesen Weg gehen:
Formular als HTML-Element in eine Seite, Verarbeitung als PHP-Content in die Zielseite. Variablen über die zugehörigen Arrays auslesen:
$HTTP_POST_VARS[] oder $_POST[]
und
$HTTP_SESSION_VARS[] bzw. $_SESSION[]
$HTTP_COOKIE_VARS[] oder $_COOKIE[]
$HTTP_SERVER_VARS[] bzw $_SERVER[]

Damit sind auch die in einem früheren Thread gesuchten mehrseitigen Formulare problemlos möglich.

Grüße
Roberto