Navigation:  Sites & Aktionen > Formular - Selbstverwaltung für Empfänger > Formulare > Beispiel Formular: Ändern eines Profils >

Formular zum Anzeigen anlegen

Previous pageReturn to chapter overviewNext page

Die Vorbereitungen für die Formulare sind abgeschlossen, wechseln Sie nun in die Rubrik Formulare und das Untermenü Neues Formular. Zunächst legen Sie das Formular an, das die vorhandenen Benutzerdaten anzeigen soll.

1.Geben Sie dem Formular zunächst einen aussagekräftigen Namen. Dieser Name wird später auch in den Link zum Aufruf des Formulars eingefügt. Deshalb sollten Sie sich auf ein Wort ohne Leerzeichen beschränken und keine Umlaute und Sonderzeichen verwenden. Das kann je nach Web-Browser und E-Mail-Programm beim Empfänger für Probleme sorgen. Groß- und Kleinschreibung sind dagegen kein Problem; Sie sollten allerdings eine einheitliche Schreibweise verwenden. Im Beispiel tragen Sie hinter Name Anzeigen ein. Bei der Beschreibung erklären Sie mit einem Satz den Zweck des Formulars.
2.In der Auswahlliste Aktion wählen Sie aus, was der OpenEMM vor dem Aufruf des Erfolgs-Formulars tun soll. Hier sind die Aktionen aufgeführt, die Sie unter der gleichnamigen Rubrik vorher definiert haben.
Achtung: Es sind nur solche Aktionen sichtbar, die bei Verwendung die Auswahl nur für Formulare oder Link und Formular haben (siehe Kapitel "Aktionen definieren" und "Neue Aktionen anlegen"). Im Beispiel wählen Sie Empfänger laden aus, die Aktion haben Sie im vorhergehenden Abschnitt definiert.
3.Im Eingabefeld Erfolgs-Formular tragen Sie den Text beziehungsweise den HTML-Code für die Webseite ein, die die Profildaten des Benutzers anzeigen soll. Ein Beispiel für die Anzeige von Name, Vorname, E-Mail-Adresse und den Status einer Mailing-Liste finden Sie weiter unten.
4.In das Eingabefeld Fehler-Formular gehört der Text, den das System bei einem Fehler anzeigt. Sie haben hier ebenfalls alle HTML-Kommandos zur Verfügung, für das Beispiel soll aber einfach der Text Es ist ein Fehler aufgetreten genügen.
5.Eine abschließende Aktion ist für das Beispiel nicht erforderlich. Lassen Sie die Auswahlliste Aktion am Ende des Eingabedialogs also auf Keine Aktion stehen. Schließen Sie die Eingabe mit der Schaltfläche Speichern ab.
Abb. 8.5: Das Formular zeigt später Name, Vorname und E-Mail-Adresse eines Empfängers an.

Abb. 8.5: Das Formular zeigt später Name, Vorname und E-Mail-Adresse eines Empfängers an.

Für eine Änderung müssen Sie die Profildaten des Empfängers als HTML-Formular anzeigen. Sonst besteht im Browser keine Möglichkeit, die Texte zu ändern und die neuen Daten an den OpenEMM zu übermitteln. Das folgende Beispiel zeigt ohne große Formatierung den Inhalt der Felder FIRSTNAME, LASTNAME und EMAIL an. Außerdem dient eine Schaltfläche dazu, geänderte Werte an den OpenEMM zu übermitteln.

Der komplette HTML-Code sieht so aus:

<form action="form.do" method="post">
<input type="hidden" name="agnCI" value="88">
<input type="hidden" name="agnFN" value="ProfilSpeichern">
<input type="hidden" name="agnUID" value="$agnUID">
<select name=”GENDER” size=”1”>
<option value=”2” #if( $customerData.GENDER == “2” ) selected #end >no specification</option>
<option value=”0” #if( $customerData.GENDER == “0” ) selected #end >Mr</option>
<option value=”1” #if( $customerData.GENDER == “1” ) selected #end >Mrs</option>
Vorname: <input type="text" value="$customerData.FIRSTNAME" name="FIRSTNAME"><br>
Nachname: <input type="text" value="$customerData.LASTNAME" name="LASTNAME"><br>
E-Mail-Adresse: <input type="text" value="$customerData.EMAIL" name="EMAIL"><br>
<input type="submit" value="&Uuml;bernehmen">
</form>

Achtung: Datums-Felder müssen in drei einzelne Eingabefelder für Tag, Monat und Jahr aufgeteilt werden. Die Feldnamen lauten dabei immer nach dem Schema: FELDNAME_DAY_DATE, FELDNAME_MONTH_DATE, FELDNAME_YEAR_DATE.

Beispiel für ein Datumsfeld birthday:

Tag: <input type="text" name="birthday_DAY_DATE" /><br/>
Monat: <input type="text" name="birthday_MONTH_DATE" /><br/>
Jahr: <input type="text" name="birthday_YEAR_DATE" />

Es handelt sich dabei um ein HTML-Formular, die Tags sind deshalb von <form> eingeschlossen. Im einleitenden Tag regelt das Attribut action, welches Skript das Formular beim Abschicken mit der Submit-Schaltfläche auswertet. Hier tragen Sie immer form.do ein und zusätzlich als Übertragungsmethode method="post".

Die folgenden drei definieren versteckte Formularfelder. Diese erscheinen nicht im Web-Browser, die Daten werden aber bei der Auswertung des Formulars mit übermittelt. Der OpenEMM benötigt sie, um die Änderungen dem richtigen Empfänger in der Empfängerdaten zuzuordnen. Die versteckten Felder haben folgende Bedeutung:

<input type="hidden" name="agnCI" value="88">: Das Feld mit dem Namen agnCI übermittelt dem OpenEMM Ihre Kundennummer (Company ID). Das Attribut value bestimmt den Wert, im Beispiel 88. Zu Ihrer Information wird Ihre Company-ID auf der Formular-Übersicht angezeigt.
<input type="hidden" name="agnFN" value="ProfilSpeichern">: Das Feld agnFN teilt dem System mit, welches Formular nach dem Absenden mit der Submit-Schaltfläche aufzurufen ist. Dieses nachgeordnete Formular speichert dann die geänderten Empfängerdaten in der Profildatenbank. Im Beispiel ist bei value der Name ProfilSpeichern angeführt. Dieses Formular erzeugen Sie im nächsten Unterkapitel.
<input type="hidden" name="agnUID" value="$agnUID">: Um einen bestimmten Empfänger zu identifizieren, erzeugt der OpenEMM eine Benutzer-ID (User-ID). Diese User-ID hat die einleitende Aktion beim Laden des Profils in der Variablen $agnUID hinterlegt. Sie müssen nur diese Variable bei value eintragen. Der  OpenEMMersetzt diese Variable vor der Ausgabe der Webseite automatisch durch die konkrete Benutzer-ID.

Die folgenden drei Zeilen geben im Beispiel die Daten aus dem geladenen Empfängerprofil als Eingabefelder aus. Welche Bestandteile des Profils Sie in der Webseite anzeigen wollen, ist ganz Ihre Entscheidung. Der Aufbau des <input>-Tags ist immer gleich. Sie dürfen natürlich auch zusätzliche HTML-Tags einfügen, die Eingabefelder und Beschriftung sauber ausrichten, etwa mit einer Tabelle. Im Beispiel haben wir der Übersichtlichkeit halber darauf verzichtet. Die Zeile

<input type="text" value="$customerData.FIRSTNAME" name="FIRSTNAME">

definiert ein Eingabefeld für den Vornamen des Empfängers. Entscheidend sind dabei zwei Attribute:

Das Attribut value enthält den Vorgabewert, den der Browser beim ersten Anzeigen des Formulars in das Eingabefeld einträgt. Hier soll natürlich der aktuelle Inhalt des Vornamenfeldes im Empfängerprofil stehen. Über den Skriptbefehl $customerData haben Sie Zugriff auf sämtliche Bestandteile des Profils, das Sie mit der einleitenden Aktion geladen haben (siehe Kapitel "Neue Aktionen anlegen"). An den Befehl hängen Sie durch einen Punkt getrennt den Namen des Feldes in der Profildatenbank an. Es stehen Ihnen alle Felder des Profils zur Verfügung, auch die selbst definierten. Sie müssen den Namen des Feldes unbedingt in Großbuchstaben anführen. Eine Liste der Felder finden Sie in Kapitel "Weitere Profil-Daten". Im Beispiel steht für den Vornamen FIRSTNAME.
Damit der OpenEMM beim Auswerten des Formulars weiß, was das Eingabefeld enthält, tragen Sie mit dem Attribut name den internen Feldnamen ein. Im Beispiel ist das wieder FIRSTNAME.

Am Ende der HTML-Tags definieren Sie die Schaltfläche, mit der ein Empfänger geänderte Daten an den OpenEMM übergeben kann. Dabei handelt es sich um die bei HTML üblichen Submit-Schaltfläche. Das Attribut value bestimmt die Beschriftung der Schaltfläche, im Beispiel Übernehmen:

<input type="submit" value="&Uuml;bernehmen">

Abb. 8.6: Das Formular aus dem Beispiel nach dem Aufruf im Browser. Es sieht unspektakulär aus, demonstriert aber die Grundbegriffe.

Abb. 8.6: Das Formular aus dem Beispiel nach dem Aufruf im Browser. Es sieht unspektakulär aus, demonstriert aber die Grundbegriffe.