we:form (Formmail) – Übergabe von Werten, Success-Seite, Mailversand

  • Hallo zusammen,
    ich bin nach längerer Zeit wieder mit webEdition (v10.0.1) tätig und möchte ein klassisches Formular mit Bordmitteln (we:form type="formmail") umsetzen – für eine Kursanfrage durch User mit Feldern wie Name, Adresse, E-Mail, Checkboxen etc.

    Geplant ist:

    - E-Mail-Versand der Kursanfrage an Anbieter und an User
    - Eine separate Success-Seite
    - Formular wird von einer Kursseite aus aufgerufen – Kursname und Datum sollen - per Klick? - an das Formular übergegeben werden

    Ich hätte dazu ein paar konkrete Fragen und freue mich über Hinweise aus euren Erfahrungen:

    1. Was ist praxistauglicher:
    - A. PHP-Mail oder
    - B. SMTP-Server?
    (Bitte gerne einfach mit A oder B antworten – interessiert bin ich an eurer Erfahrung, was zuverlässiger funktioniert.)

    2. Wie kann ich Kursname und Datum übergeben, von einer Kursdetail-Seite an das separate Formular ?
    - Meine Idee: Übergabe via URL-Parameter → im Formular als input type="hidden" aufnehmen → per Mail versenden. Ist das gängiger Weg? Und wie geht das? Was muss auf die Kursseite und was auf die Formularseite?

    3. Übergabe von Daten nach dem erfolgreichen Versand (Kursname, Datum, Vorname des Users) an die Success-Seite und an das E-Mail?
    - Ziel: Personalisierter Hinweis auf erfolgreich übermittelte Kursanfrage: "Hallo Peter, der Workshop am 2. Februar ist angefragt. Wir melden uns"

    Danke im Voraus – ich bin dankbar für jeden Hinweis oder Erfahrungswert.

    Viele Grüße
    Matthias

  • 2. Wie kann ich Kursname und Datum übergeben, von einer Kursdetail-Seite an das separate Formular ?
    - Meine Idee: Übergabe via URL-Parameter → im Formular als input type="hidden" aufnehmen → per Mail versenden. Ist das gängiger Weg? Und wie geht das? Was muss auf die Kursseite und was auf die Formularseite?

    Übergabe via URL-Parameter habe ich jetzt so hinbekommen:

    Auf der Kurseite im WE-Template einen Link auf das Formular erzeugen:

    PHP
    <a href="formular.php?Kursname=<we:var name="Kursname"/>&Datum=<we:input type="date" name="date-von" format="d.m.Y" /><we:ifNotEmpty name="date-bis-OK"> - <we:input type="date" name="date-bis" format="d.m.Y"/></we:ifNotEmpty>
    ">Bestellen</a> 

    (mit 'ifNotEmpty: date-bis-OK' und 'date-bis' wird noch abgefragt ob es ein mehrtägiger Kurs ist.)

    Dann im Formular WE-Template:

    PHP
    <?php
    // URL von der Kursseite an Formular lautet: formular.php?Kursname=Workshop&Datum=08.08.2025 - 09.08.2025
    $Kursname = $_GET["Kursname"]; // Liest den Wert des Parameters "Kursname" aus
    $Datum = $_GET["Datum"]; // Liest den Wert des Parameters "Datum" aus
    echo "Kursname: " . $Kursname . "<br>";
    echo "Datum: " . $Datum . "<br>";
    // Und im Formular:
    // <input type="hidden" id="Kursname" name="Kursname" value="<?php echo htmlspecialchars($Kursname); ?>">
    // <input type="hidden" id="Datum" name="Datum" value="<?php echo htmlspecialchars($Datum); ?>">
    ?>
  • Hmm. Oder ich lass das mit der Übergabe via URL-Parameter. Das ist vielleicht für Manipulation der der URL-Parameter zu anfällig, so könnten ja beliebige Kurse - die es gar nicht gibt - angefragt werden?

    Oder das Formular direkt auf die Kursseite einbauen? Dann baruche ich ja nichts übergeben.

    Dankbar für jeden Hinweis.

  • also was man auch machen kann - wofür wir sonst auch ein Tag bauen könnten, wäre die Daten per we_helpers_jwt zu encodieren. Das ist manipulationssicher.


    Aber da sollte man klären, ob es den Anwendungsfall so gibt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!