Ich versuche gerade eine einfache Benutzerregistrierung zu implementieren, bei der nur ein Benutzername(E-Mailadresse) und Passwort angegeben werden müssen, damit die Benutzer Merklisten anlegen können, Warenkorb speichern ect. ohne gleich Adresse, Geburtsdatum usw. angeben zu müssen, die bei einer Bestellung dann erforderlich sind.
Jedoch bekomme ich in meiner View die Daten nicht gespeichert. Die Formularfelder werden richtig befüllt und ausgelesen.
public function registeruser(){
$oUser = oxNew( 'oxuser' );
$userdata = oxConfig::getParameter( 'hiuser' );
$oUser->oxuser__username = new oxField($userdata['lgn_usr'], oxField::T_RAW);
$oUser->oxuser__oxactive = new oxField("1", oxField::T_RAW);
if (($userdata['lgn_pwd'] != null) && ($userdata['lgn_pwd']==$userdata['lgn_pwd2'])){
if ( $oUser->checkIfEmailExists( $userdata['lgn_usr'] ) ) {
return oxUtilsView::getInstance()->addErrorToDisplay('EXCEPTION_USER_USEREXISTS', false, true);
}
$oUser->setPassword($userdata['lgn$_usr']);
try{
$saved = $oUser->save();
if($saved === false) return oxUtilsView::getInstance()->addErrorToDisplay('USER_NOT_SAVED', false, true);
else return oxUtilsView::getInstance()->addErrorToDisplay('USER_SAVED', false, true);
} catch ( Exception $oExcp ) {
return oxUtilsView::getInstance()->addErrorToDisplay($oExcp->getMessage(), false, true);
}
}else{
return oxUtilsView::getInstance()->addErrorToDisplay('EXCEPTION_USER_NOPASSWORD', false, true);
}
$this->render();
}
Ich bekomme nur immer die Meldung, dass eben nicht gespeichert wurde.