Kundenregistrierung & Pflichtfelder/Captcha

Fragen zum Erstellen von Templates für webEdition.
Scarabaeus
Member
Beiträge: 37
Registriert: Sa 9. Nov 2013, 18:37

Kundenregistrierung & Pflichtfelder/Captcha

Beitragvon Scarabaeus » Mo 9. Apr 2018, 16:14

Hallo Gemeinde,
ich bin am Verzweifeln und benötige Rat...

Ich habe mithilfe der KV und einigen Template nun ein funktionierendes System zur Kunden/User-Registration erstellt. Nachdem nun alles lief, wollte ich mein Formular zur Registrierung mit einem Captcha und der Abfrage nicht ausgefüllter Felder ausstatten.
Dabei fiel mir auf, dass es soetwas wie "we:ifUserInputEmpty" für "sessionField" gar nicht gibt und habe mir folgende Lösung erdacht:

Code: Alles auswählen

<we:ifVarNotEmpty match="Absenden" type="post">
	<we:ifNotCaptcha formname="Registrierung" name="captcha">
		<div class="fmeldung"><p>Bitte richtigen Zahlencode angeben</p></div>
		<we:else/>
		<we:ifVarEmpty type="sessionfield" name="Username" formname="Registrierung">
			<div class="fmeldung"><p>Bitte gib einen Usernamen an!</p></div>
			<we:else/>
			<we:ifVarEmpty type="sessionfield" name="Password" formname="Registrierung">
				<div class="fmeldung"><p>Bitte trage ein Passwort ein!</p></div>
				<we:else/>
				<we:ifVarEmpty type="sessionfield" name="Email" formname="Registrierung">
					<div class="fmeldung"><p>Bitte gebe eine Email-Adresse an!</p></div>
					<we:else/>
					<we:saveRegisteredUser register="true" allowed="Username,Password,Email"/>
				</we:ifVarEmpty>
			</we:ifVarEmpty>
		</we:ifVarEmpty>
	</we:ifNotCaptcha>
</we:ifVarNotEmpty>

<we:form name="Registrierung" id="8873" method="post" xml="true">
	<we:sessionField name="ID" type="hidden" />
	<we:sessionField name="Mitgliedslevel_UserLevel" value="User" type="hidden" />
	<we:sessionField name="Username" id="username" type="textinput" placeholder="Benutzer-/Nickname"  />
	<we:sessionField name="Password" id="password" type="password" placeholder="Dein Passwort (6 bis 16 Zeichen)"/>
	<we:sessionField name="Email" id="email" type="textinput" placeholder="Deine E-Mail-Adresse"/>
	<we:captcha width="150" height="35" maxlength="6" alt="" font="" fontsize="" bgcolor="" fontcolor="" case="" subset="" skip="" style="" stylecolor="" angle="" />
	<input type="text" name="captcha"size="6" maxlength="6" placeholder="Captcha Code*" />
	<input class="btn btn100" style="margin-bottom: 0;" type="submit" name="Absenden" value="Jetzt registrieren">						
</we:form>
Dennoch kann ich das Formular absenden, ohne einen Captcha und ohne irgend ein Feld auszufüllen.
WAS mache ich falsch, was übersehe ich hier???

Wäre für jeden Hinweis dankbar.
Viele Grüsse
Scarabaeus

Scarabaeus
Member
Beiträge: 37
Registriert: Sa 9. Nov 2013, 18:37

Re: Kundenregistrierung & Pflichtfelder/Captcha

Beitragvon Scarabaeus » Mi 11. Apr 2018, 20:57

Hat niemand eine Idee?
Viele Grüsse
Scarabaeus

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

Re: Kundenregistrierung & Pflichtfelder/Captcha

Beitragvon WBTMagnum » Mi 11. Apr 2018, 22:44

Hallo Scarabaeus,

Ich denke du musst die Request Variable zum Vergleich heran ziehen.

Code: Alles auswählen

<we:ifVarNotEmpty type="request" match="fieldname">...</we:ifVarNotEmpty>
HTH,
Sascha

Scarabaeus
Member
Beiträge: 37
Registriert: Sa 9. Nov 2013, 18:37

Re: Kundenregistrierung & Pflichtfelder/Captcha

Beitragvon Scarabaeus » Sa 14. Apr 2018, 10:09

Das Eingangs gezeigte Beispiel kann so nicht funktionieren, da die Captcha-Abfrage im selben Template eingebaut ist.

Diese muss in der Folgeseite erfolgen, auf der dann der Hinweis auf einen falschen oder nicht eingegeben Captcha mit samt einem "historiy.back()" Link angebracht ist oder eben im Erfolgsfall die dann gültigen Inhalte ausgibt.

Das Problem mit der Pflichtfeld-Abfrage kann u. a. mit JavaScript gelöst werden
Viele Grüsse
Scarabaeus


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

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 14 Gäste