Container zur Erstellung einer Maske, welche Erstanmeldung, Anfordern eines neuen Passworts, Ändern des Passwortes
oder der Mail durch den Nutzer, Login, eine 'tell-a-friend' / 'Diese Seite empfehlen' - Funktionalität oder die für
Newsletter benötigten Anmelde-, Bestätigungs- und Abmeldemasken ermöglicht.
Das Element fügt ein <form>-Element ein und zeigt zunächst den Inhalt des
sd:start
-Elements an.
In Abhängigkeit vom Erfolg oder Mißerfolg der Anmeldung wird der Inhalt von
sd:success
oder
sd:error
ausgegeben. Alternativ kann statt
sd:error
auch sofort
sd:start
ausgegeben werden, dies wird durch
sd:with-error
= 1 erzeugt.
In Abhängigkeit von der gewünschten Funktion muß
sd:start
eine geeignete Anzahl von
sd:input-identifier
-Elementen mit geeignetem Typ enthalten. Die sinnvollen Werte ergeben sich
aus der folgenden Tabelle:
Typ | Zahl der sd:input-identifier-Elemente | sd:input-type-Werte |
---|
new-anonym | 1 | mail |
new-nick | 2 | mail + nick |
new-pwd | 1 | both |
change-pwd | 3 | pwd + pwd_i + pwd_ii |
change-mail | 2 | mail + pwd |
login | 2 | both + pwd |
tell-a-friend | 3 | recipient + own_name + own_mail |
newsletter-subscribe | 1 | mail |
newsletter-confirm | 1 | identifier |
newsletter-unsubscribe | 1 | identifier |
Fehlende Elemente verhindern nicht das Erstellen der Ausgabeseite, diese Logik läßt sich nicht mit XmlSchema-Definitionen
erzwingen. Solche Fehler bei der Erstellung der Ausgabeseite führen dazu, daß die vom Benutzer eingegebenen Daten nicht
ausgewertet werden, da die korrekten Namen der Formularelemente im POST-Datenstrom fehlen.
Es ist nicht möglich, ein Loginformular nur für einen Nutzertyp zu erstellen bzw. für andere Nutzertypen zu sperren.
Falls Seiten nur einem gewissen Nutzerkreis zugänglich sein sollen, so müssen die Seiten selbst gesperrt werden.
'tell-a-friend' ermöglicht die Erstellung einer Ausgabeseite, die drei Eingabefelder (Mail des Empfängers, eigene Mail,
eigener Name) enthält. Zusätzlich muß das sd:url-Attribut angegeben werden. Wird die Seite anschließend mit
Seitenname.html?url=http://www.example.com/dateiname.html
aufgerufen und ist das sd:url-Attribut mit dem Wert 'http://www.example.com/' belegt, dann wird eine Mail mit dem
gewünschten Ziel
http://www.example.com/dateiname.html
an den Empfänger versandt.
Beispiel für die Selbstanmeldung eines Nutzers mit Mail und Nick
Dieses Beispiel kann direkt über den entsprechenden Menüpunkt per Vorlage erzeugt werden.
<sd:system-interaction sd:name="login"
sd:with-error="1" sd:interaction-type="new-nick">
<sd:start>
<table>
<tr>
<td>Ihre Mailadresse</td>
<td>
<sd:input-identifier size="60px" sd:input-type="mail" />
</td>
</tr>
<tr>
<td>Ihr Nickname</td>
<td>
<sd:input-identifier size="60px" sd:input-type="nick" />
</td>
</tr>
</table>
<sd:button sd:name="myButton">
<sd:label-standard>Absenden</sd:label-standard>
</sd:button>
<p />
<sd:err-message />
</sd:start>
<sd:success>
Ihre Anmeldung war erfolgreich. Ihr Passwort wird Ihnen
in Kürze per Mail zugesandt.
</sd:success>
</sd:system-interaction>
Beispiel für eine 'tell-a-friend' - Ausgabeseite
Der Code entspricht dem body-Abschnitt von
https://beispiel.server-daten.de/tell-a-friend.html.
Hier wird zusätzlich ein
sd:param
-Element mit Namen 'url' deklariert. Da die Url dieser Seite um den Ausdruck
?url=Zu empfehlende Seite
ergänzt wird, wird der Wert dieser Pfadangabe auf das sd:param-Element abgebildet und kann mit dem
sd:value
-Element
ausgegeben und mit dem
sd:attribute
-Element als Attributwert eines gewöhnlichen a-Elements eingesetzt werden.
Als Ergebnis entsteht ein gewöhnlicher Link, so daß der Nutzer das Versenden abbrechen und zurück zur Ausgangsseite wechseln
kann.
<sd:param sd:name="url" />
<div>
<div style="width:200px;float:left;height:500px; background-color:#003C78;">
 
</div>
<div style="float:left;left:250px;margin:0; padding:18px;">
<p />
<sd:system-interaction sd:with-error="1"
sd:interaction-type="tell-a-friend" sd:name="tell-this"
sd:url="http://www.sql-und-xml.de/">
<sd:start>
<h3>Empfehlen Sie diese Url weiter</h3>
<p />
<table>
<tr>
<td style="width:250px">Url:</td>
<td style="width:450px">
<a>
<sd:attribute sd:attribute-name="href">
<sd:value sd:param-name="url" />
</sd:attribute>
<sd:value sd:param-name="url" />
</a>
</td>
</tr>
<tr>
<td><br /></td>
<td><br /></td>
</tr>
<tr>
<td>Mail des Empfängers:</td>
<td>
<sd:input-identifier
sd:input-type="recipient" />
</td>
</tr>
<tr>
<td>Ihre Mail:</td>
<td>
<sd:input-identifier
sd:input-type="own_mail" />
</td>
</tr>
<tr>
<td>Ihr Name:</td>
<td>
<sd:input-identifier
sd:input-type="own_name" />
</td>
</tr>
</table>
<p />
<sd:button>
<sd:label-standard>Empfehlung absenden</sd:label-standard>
</sd:button>
<p />
<span class="sd-error"><sd:err-message /></span>
</sd:start>
<sd:success>
<sd:err-message />
</sd:success>
</sd:system-interaction>
</div>
</div>
Man sieht: Das meiste sind Html-Elemente für die Anordnung und Formatierung, dazwischen eingestreut die sd-Elemente
für die Ausgabe.
Kontaktformular:
Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!