Include eines Formulars

Habe folgendes Problem.

Habe einen Form-Mailer,
mit welchem per php mail Funktion Daten an eine
Email Adresse geschickt werden.
Das Script läuft als einzelne Seite 100%.
Sobald ich die Seite in meine Index.php include
führt er das formular nicht mehr richtig aus.

Kann das sein, dass das „php_self“
nicht mehr nach einem Include funktioniert ?

Wie kann ich das Problem lösen ?

Für den Fall, daß du automatisch eintragen willst, daß das Formular anuf die gleiche Seite gesendet wird, in der es selbst eingebunden ist…

Lass das Feld „action“ einfach leer. Dann nimmt er sowieso die aktuelle Seite.

Hilft leider nicht.
Er schickt die Mail genausowenig raus.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Habe folgendes Problem.

Habe einen Form-Mailer,
mit welchem per php mail Funktion Daten an eine
Email Adresse geschickt werden.
Das Script läuft als einzelne Seite 100%.
Sobald ich die Seite in meine Index.php include
führt er das formular nicht mehr richtig aus.

Kann das sein, dass das „php_self“
nicht mehr nach einem Include funktioniert ?

PHP_SELF ist immer das aufgerufene Script, in deinem Fall also index.php.

Wie kann ich das Problem lösen ?

Überschreibst du in der index.php evtl. irgendwelche Variablen (z.B. die per POST kommen), die das Mailscript benötigt ?

Alexander

kann ja auch nicht
wenn das action leer ist dann werden die infos ja an die index.php übergeben - und die ist wohl oder übel nicht für das mailen zuständig.
Du könntest aber in Deine index.php eine schleife einbauen wenn ich das richtig sehe.
Du übergibst ja sicher Daten an die „mail.php“ (oder wie sie heissen mag). Nun brauchst Du immer einen empfänger damit das auch funktioniert. Dein Formular wird also eine variable gespeichert haben wie oder wie immer Du das geregelt hast. Nun lässt Du die seite neu aufrufen indem du das action raus lässt. Gleichzeitig bindest Du aber mit einem
if ($_GET[‚sendto‘] != „“) include(„mail.php“);
die mail.php da ein wo Du sie brauchst. Damit sollte es dann auch funktionieren… Falls Du funktionen verwendest musst Du die relevanten Variablen natürlich global setzen. Am einfachsten ist es immer wenn Du Dir in Deine Teilbereiche kleine Ausgabebausteine setzt. So siehst Du gut welche Variable wann wie belegt ist und welche Funktion aufgerufen wird…

Alternativ zu dem ganzen könnte man Dir raten einfach nicht $PHP_SELF zu verwenden, denn das verwendet in der Tat immer die Variable des tatsächlich ausgeführten Scriptes, und nicht die des Scriptes in dem der code steht. Hoffe das hilft Dir weiter¿

Hi hatte genau das selbe Prob,

als aller erstes, lass dich nicht vom $php_self; abbringen!!! dieses erspart dir mehr als arbeit :wink:

mir hat geholfen, dass ich dem ‚action‘ eine dran gehängt habe :wink: sollte also so aussehen „action = ‚index.php?kategorie=email‘“, oder so ähnlich. Da Du ja, nehme ich an, ein SendenButton drin hast, sollte es reichen wenn du eine Abfrage, am besten in der 1-sten Zeile machst, die da heisst:

if ($kategorie == „email“) { include(„email.php“); }

In der email.php sollten natürlich alle relevanten Daten stehen :wink:

Wenn das zu kompliziert sein sollte oder besch… beschreiben, kannste mir auch mailen: [email protected] oder per ICQ 158876402

Ich helfe gerne :wink:

Thomas