Page 1 of 2

AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 2:40 pm
by Holger
Hallo zusammen,

ich habe ein Problem nit AdvancedForm_XH 1.1, das ich zum ersten Mal eingesetzt habe. Beim Versuch das Standard-Mailformular zu ersetzten, habe ich ein (Verständnis)-Problem. Folgendes Szenario (XH 1.7.2, PHP 7.2.1):

- Formular "Kontakt" erstellt
- In der Sprachdatei "Kontakt" als Ersatz für des Mailformular eingetragen
- Mittels mailformlink() bzw. per URL wird das Formular auch angezeigt
- Füllt man das Formular aus und versendet es, wird der Post-Request auch abgeschickt. Status 200
- Danach passiert nichts. Keine Mail, keine Versandmeldung, keine Fehlermeldung im Debug-Mode, nüscht :?
- Als URL-Parameter steht nur noch ein einsames "?" hinter der Domain in der Adresszeile

Alle anderen Formulare, die in diversen Seiten integriert sind, funktionieren aber ohne Probleme.

Soweit ich die Doku verstehe, kann das Standard-Mailformular auch ohne Einbettung in eine Seite ersetzt werden.
Das wäre im konkreten Fall wichtig, weil ein anderes Plugin u.U. bei Fehlern einen Link mit dem Parameter "&mailform" generiert. Und da ich alle anderen Formulare jetzt schon fertig habe, möchte ich nur ungern zurück zum alten Formmail.

P.S.: auch die Weiterleitung auf eine Testweise eingestellte "Danke" - Seite geht nicht.

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 2:57 pm
by frase
Holger wrote:
Fri Jul 20, 2018 2:40 pm
- In der Sprachdatei "Kontakt" als Ersatz für des Mailformular eingetragen
- Mittels mailformlink() bzw. per URL wird das Formular auch angezeigt
Hier habe ich ein kleines Verständnisproblem. Was hast du da gemacht?

Normalerweise legst du im Plugin ein Formular an.
Dann kopierst du dir den Pluginaufruf auf der Plugin-Seite "E-Mail-Formulare", der direkt hinter deinem Formular steht.
[Icons]Kontakt {{{PLUGIN:advancedform('Kontakt');}}}
Diesen kopierten Link setzt du auf eine beliebige Seite, z.B. "Postversendungsformular".
Diese Seite kann dann, wie jede andere Seite aufgerufen werden.

Möglicherweise habe ich alles falsch verstanden?

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 3:03 pm
by Holger
frase wrote:
Fri Jul 20, 2018 2:57 pm
Möglicherweise habe ich alles falsch verstanden?
Siehe Hilfe-Datei:
Es ist möglich das eingebaute Kontakt-Formular von CMSimple_XH durch ein benutzerdefiniertes zu ersetzen. Erstellen Sie dazu einfach das gewünschte Formular, und tragen Sie dessen Namen in Advancedform_XHs Spracheinstellungen als "contact form" ein. Nun wird CMSimple_XHs Kontakt-Formular-Link direkt Ihr eigenes Formular aufrufen.

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 3:17 pm
by frase
Holger wrote:
Fri Jul 20, 2018 3:03 pm
Siehe Hilfe-Datei:
Ah jetzt ja!
Noch nie gemacht *schäm*

Frage:
Testest du im Moment local oder echt online?

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 3:38 pm
by frase
Also:
Es liegt an der PHP-Version.
Ich habe gerade mit XH 1.7.2 und PHP 7.1.1 getestet - da funktioniert es noch!

Mit PHP 7.2.5 funktioniert es nicht. Gleiche Effekte wie bei dir.

Eventuell liegt es daran?

Korrektur!
Unter PHP 7.1.1 funktioniert zwar das Formular von einer Extra-Seite - aber nicht von der "Ersatz"-Seite.

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 5:20 pm
by Holger
@frase: Danke für's mitsuchen!

Es liegt daran, dass im Action-Parameter des erzeugten Formulars die URL-Parameter fehlen.
Action ist beim Ersatz des Formulas einfach "/?" , also $sn . '?' . $su. Damit es funktioniert, muss beim Versand der Mail aber auch "&mailform" mit im Action-Parameter enthalten sein, damit das Skript überhaupt auf den Post-Request reagieren kann.
Man kann das auch leicht testen, indem man in den Developer-Tools einfach "&mailform" vor dem Versand im Formular ergänzt.

Komisch, dass es hierzu noch keine Bug-Meldung gibt :? .

Ich hab's jetzt erst einmal so gelöst, dass wenn $_GET['mailform'] gesetzt ist, das dann auch als weiterer Parameter mit in die URL einfließt. Das geht aber bestimmt "schöner".

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 5:28 pm
by frase
Holger wrote:
Fri Jul 20, 2018 5:20 pm
Komisch, dass es hierzu noch keine Bug-Meldung gibt
Das liegt wohl daran, dass es noch keiner auf "deine Art" versucht hat.
Na, jetzt wird es wohl gefixt werden.

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 5:30 pm
by Holger
frase wrote:
Fri Jul 20, 2018 3:38 pm
Mit PHP 7.2.5 funktioniert es nicht. Gleiche Effekte wie bei dir.
Aber der "normale" Einsatz funktioniert doch mit der PHP-Version, oder?

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 6:08 pm
by cmb
frase wrote:
Fri Jul 20, 2018 5:28 pm
Na, jetzt wird es wohl gefixt werden.
Siehe zunächst https://github.com/cmb69/advancedform_x ... -406680684 (bin da noch nicht ganz sicher).
Holger wrote:
Fri Jul 20, 2018 5:30 pm
Aber der "normale" Einsatz funktioniert doch mit der PHP-Version, oder?
Nicht unbedingt einwandfrei, siehe https://github.com/cmb69/advancedform_xh/issues/33. Das Update auf einen einigermaßen aktuellen PHPMailer war aber wesentlich einfacher als gedacht, so dass dies bereits erledigt ist. Wird wohl Zeit für Version 1.2.

Re: AdvancedForm_XH 1.1 Ersatz des Mailformulars

Posted: Fri Jul 20, 2018 6:48 pm
by Holger
cmb wrote:
Fri Jul 20, 2018 6:08 pm
Siehe zunächst https://github.com/cmb69/advancedform_x ... -406680684 (bin da noch nicht ganz sicher).
Sollte funktionieren. Ein einfacher Test war jedenfalls positiv.
cmb wrote:
Fri Jul 20, 2018 6:08 pm
Das Update auf einen einigermaßen aktuellen PHPMailer war aber wesentlich einfacher als gedacht, so dass dies bereits erledigt ist.
War das noch kompatibel? Also einfach die neuen Dateien hinein und gut?
cmb wrote:
Fri Jul 20, 2018 6:08 pm
Wird wohl Zeit für Version 1.2
:)

Wegen dem Update des PHP-Mailers: bei jerrys Newsletter ist auch nicht die aktuellste Version eingebaut. Auch hier geht das Subject flöten, wenn Sonderzeichen enthalten sind. Wenn das so einfach ist, würde ich da auch mal ein Update versuchen.