Veröffentlichungsdatum: 26. April 2013
Änderungsdatum: 02. September 2020
benutzerregistrierung register formular
Weitere Formularfelder für die Benutzerregistrierung erweitern Sie einfach über den Formulareditor.
Das Weblic® Benutzerregistrierung können Sie komfortabel über den Formulareditor um weitere Felder ergänzen.
In diesem Beispiel wird die Benutzerregistrierung um die Felder "Straße", "PLZ" und "Ort" erweitert.
Legen Sie hierzu über den Formulareditor die Formularfelder an. Setzen Sie zusätzlich in den entsprechenden E-Mail Vorlagen die Platzhalter zum Auslesen der Formulardaten, um diese beim E-Mail Versand entsprechend einzulesen.
Damit die Daten in der Benutzerdatei des neuen Benutzers hinterlegt werden, erweitern sie den PHP-Quelltext in den "Erweiterten Formulareinstellungen" innerhalb der Box "Nach dem Absenden auszuführendes Skript" um die entsprechenden Variablen und XML-Knoten (falls noch nicht gesetzt).
...
$street = wStringconverter::convertToXml($mailData["street"]);
$zipcode = wStringconverter::convertToXml($mailData["zipcode"]);
$town = wStringconverter::convertToXml($mailData["town"]);
/*
// alternativ Mehrfachauswahl (multiselect oder checkboxen, für z.B. Standorte)
$locations = array();
$locationString = '';
foreach($mailData['locations'] as $location){
$locations[] = $location;
}
$locationString = implode('|', $locations); // Werte per Pipe getrennt
$locations = $locationString;
*/
...
// Anlegen der Benutzerdatei
...
<street class="business" value="'.$street.'"/>
<town class="business" value="'.$town.'"/>
<zipcode class="business" value="'.$zipcode.'"/>
// <meta name="locations" value="'.$locations.'"/>
...
Für den Versand der E-Mail zur Aktivierung des Benutzers erweitern Sie den PHP-Quelltext für die Bestätigung der Registrierung um die zusätzlichen Benutzerdaten.
...
if(wPageCur::getVar('hasToActivateUser') == '1'){
print '<p>Ihre Registrierung wurde erfolgreich durchgeführt.</p><p><strong>Sie erhalten eine E-Mail, sobald Ihr Benutzer freigeschaltet wurde!</strong></p>';
$mailData["emailSystem"] = wPageCur::getVar('emailSystem');
$mailData['emailActivatorUser'] = wPageCur::getVar('emailActivatorUser');
$mailData['username'] = $userName;
$mailData['firstname'] = wUserData::getData($userName, 'firstname');
$mailData['lastname'] = wUserData::getData($userName, 'lastname');
$mailData['email'] = wUserData::getData($userName, 'email');
// weitere Felder:
$mailData['street'] = wUserData::getData($userName, "/wUser/street[@class = 'business']/@value");
$mailData['zipcode'] = wUserData::getData($userName, "/wUser/zipcode[@class = 'business']/@value");
$mailData['town'] = wUserData::getData($userName, "/wUser/town[@class = 'business']/@value");
$mailData['urlToActivateUser'] = wURL::setParameter(wURL::setParameter(wURL::setParameter(wRequest::getUrl(), 'status', 'activateUser'), 'optInID', ''), 'activationID', wUserData::getData($userName, '/status/@activationID'));
wMailer::sendMailStr(wPageCur::getVar('mailStrActivateUser'), $mailData);
}
...