Formmail mit mehreren Empfängern via Select

Fragen zum Erstellen von Templates für webEdition.
statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Formmail mit mehreren Empfängern via Select

Beitragvon statist » Mi 15. Nov 2017, 10:56

Hallo zusammen,
hatte über Jahre in etwa wie unter viewtopic.php?f=87&t=7192 beschrieben ein Kontaktformular laufen, bei welchem der Besucher über einen Select den Empfänger auswählen konnte. Seit dem Update auf Version 7.0.4 funktioniert der Select nicht mehr - hat sich hier etwas bei der Anforderung geändert? Wie kann man das aktuell umsetzen? Vielen Dank!

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Formmail mit mehreren Empfängern via Select

Beitragvon WBTMagnum » Mi 15. Nov 2017, 11:13

Hallo,

Ich denke es wäre hilfreich wenn du noch folgende Infos ergänzt:
  • Von welcher Version bist du auf die 7.0.4 gewechselt?
  • Welche PHP Version ist da im Einsatz?
  • Gibt es Meldungen im Fehler-Protokoll?
  • Was genau bedeutet "... funktioniert der Select nicht mehr"? Wird das Element nicht mehr angezeigt, kann man nichts mehr auswählen, etc.?
  • Wie schaut dein Code konkret aus?
Schau auch mal in die Versionshistorie, ob sich da zwischen den Versionen etwas für deine Umsetzung relevantes geändert hat.


Liebe Grüße,
Sascha

AndreasWitt

Re: Formmail mit mehreren Empfängern via Select

Beitragvon AndreasWitt » Mi 15. Nov 2017, 12:48

... eventuell hat es gar nichts mit dem Selch zu tun, sondern mit überschriebenen Einstellungen nach dem Update wie z.B. hier viewtopic.php?f=87&t=41093

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Formmail mit mehreren Empfängern via Select

Beitragvon statist » Mi 15. Nov 2017, 16:09

Danke für Eure Antworten. Hab in den Einstellungen geschaut, "Formmail über webEdition-Dokument aufrufen" war deaktiviert, die Aktivierung ändert aber nichts.

Die genaue Fehlermeldung ist: "Cannot modify header information - headers already sent by (output started at .../we_fragment_base.class.php)"

Das Formular ist wie folgt aufgebaut:

Code: Alles auswählen

<we:form type="formmail" recipient="recipient" ...>
<select name="recipient">
<option value="mail@domain.de">Empfänger</option>
</select>
</we:form>
Das Auswählen des Select im Formular funktioniert, auf der nächsten Seite (mit <we:ifCaptcha...>-Auswertung) ist im Quellcode der Recipient leer.

Kann nicht genau sagen, ab welcher Version es nicht mehr funktioniert hat, hat in Version 7 aber mit Sicherheit schon funktioniert. PHP-Version ist 5.6.

In der Versionshistorie ist wohl nur formmail-relevant, dass in 7.0.4. die "pre_content" und "post_content" angepasst wurden, die verwend ich aber nicht.

AndreasWitt

Re: Formmail mit mehreren Empfängern via Select

Beitragvon AndreasWitt » Mi 15. Nov 2017, 16:15

... kannst du mal bitte den "fertigen" HTML-Code des Formulars von der Website posten?

Ich habe die Vermutung, dass das Option-Value von "recipient" eine ID und keine E-Mail-Adresse sein muss.

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Formmail mit mehreren Empfängern via Select

Beitragvon statist » Mi 15. Nov 2017, 16:31

Das ist der Quellcode auf der Formularseite:

Code: Alles auswählen

<form method="post" name="we_global_form" onsubmit=";return true;" action="versand.php">
<input type="hidden" name="data-jwt" value="abc..." />
<input type="hidden" name="pre_confirm" value="abc..." />
<input type="hidden" name="post_confirm" value="abc..." /> 
...
<select name="recipient">
<option value="mail@domain.de">Empfänger</option>
</select>
<input type="submit" value="Nachricht senden" id="formInput_submit" />
</form>
Wenn ich statt <we:form type="formmail" recipient="recipient" ...> eine Adresse <we:form type="formmail" recipient="mail@domain.de" ...> eintrage, ist die Quellcode-Ausgabe identisch, der Formularversand funktioniert aber.

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Formmail mit mehreren Empfängern via Select

Beitragvon WBTMagnum » Mi 15. Nov 2017, 17:33

Hey,

Code: Alles auswählen

<we:form type="formmail" recipient="recipient" ...> 
Hast du da wirklich "recipient" als value drinnen stehen? Das kommt mir jetzt schon ein wenig komisch vor. Das sollte dann doch eher eine Variable sein, also "$recipient" oder so.

Liebe Grüße,
Sascha

AndreasWitt

Re: Formmail mit mehreren Empfängern via Select

Beitragvon AndreasWitt » Mi 15. Nov 2017, 18:08

@statist: dein Code ist leider noch nicht vollständig. Ich brauche alle Input Hidden Felder.

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Formmail mit mehreren Empfängern via Select

Beitragvon statist » Mi 15. Nov 2017, 18:18

Hallo Sascha, mit $recipient ist's das gleiche. Und ja, hat bisher so funktioniert ;)
Andreas, es werden nur diese drei "input hidden" ausgegeben, mehr ist nicht im Quellcode.

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Formmail mit mehreren Empfängern via Select

Beitragvon WBTMagnum » Mi 15. Nov 2017, 21:50

Hallo,

Ich hatte jetzt auch nicht erwartet, dass es mit "$recipient" gleich geht. Mein Punkt ist, das dort wenn eine Variable hinein gehört, da "recipient" ja als String behandelt wird.

Ich habe jetzt einen kurzen Blick in den Code von <we:form type="formmail" ...> (we_tag_form.inc.php) geworfen. Das Attribut "recipient" verlangt hier grundsätzlich eine Liste von E-Mailadressen. Diese werden in weiterer Folge in IDs aufgelöst. Übergeben wird das dann an <we_formmail.php> (we_formmail.php), das dementsprechend eine Liste von IDs im Attribut "recipient" erwartet.

Hast du die Empfänger bei den Formmail-Empfänger eingetragen, sh. Tag-Referenz für <we:form type="formmail>
Tag-Referenz hat geschrieben:... Die hier eingetragenen E-Mail-Adressen müssen zusätzlich innerhalb von webEdition über das Menü Bearbeiten -> Formmail-Empfänger eingetragen werden. ...
Liebe Grüße,
Sascha

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Formmail mit mehreren Empfängern via Select

Beitragvon statist » Do 16. Nov 2017, 10:11

Hallo Sascha,

alle Empfänger aus dem Select sind in den Einstellungen eingetragen.

Meinst Du also, dass die Option eine ID enthalten müsste, welche mit der jeweiligen Mail-Adresse übereinstimmt? Wo kann man die IDs der eingetragenen Empfänger auslesen? Danke für die Hilfe!

AndreasWitt

Re: Formmail mit mehreren Empfängern via Select

Beitragvon AndreasWitt » Do 16. Nov 2017, 14:22

@statist: also im Quellcode von we_formmail.php steht drin, dass er eine ID erwartet:

Code: Alles auswählen

$recipients = we_base_request::_(we_base_request::INTLIST, 'recipient');
Das war aber in Version 7.0.3 noch anders. Da konnte man auch noch E-Mail-Adressen angeben. Daher musst du jetzt statt der E-Mail-Adressen im Select-Feld die entsprechenden IDs aus den Formmail-Einstellungen nutzen. Diese kannst du aber leider nur direkt in der DB ablesen oder du lässt dir vom Formmail-Einstellungsdialog den Quellcode anzeigen und nimmst dann aus dem <option> Tag den value-Wert.

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Formmail mit mehreren Empfängern via Select

Beitragvon statist » Do 16. Nov 2017, 15:26

Hallo Andreas, perfekt, mit <option value="2"> (ausgelesen aus dem Einstellungen-Quellcode) funktioniert's wieder! Vielen Dank für Eure grandiose Hilfe!


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste