Hey all
I have a registration form that extends CActiveRecord and is based on a user table. Validation is setup and working fine but I noticed in the code below that I cannot set $form->password to a value other than the one submitted on the form.
In this code, if the form validates, I'm trying to encrypt the password and assign it to $form->password, then save it to the database. With the $form->password line commented out, a new user record is added to the database in plain text (for testing). If I uncomment it (to store the encrypted password), the activation email goes out and the render occurs, but the insert to db silently fails.
I turned on logging with trace, etc., but I still can't see what's going on.
Any ideas?
public function actionRegistration() { $scriptSet = new ScriptSet; $scriptSet->loadSet('mainRegistration', null, 'ie', 1); $form = new User; if(isset($_POST['User'])) { $form->attributes=$_POST['User']; if($form->validate()) { $salt="<A Salt>"; //omitted $string = "$salt" . $_POST['User']['password']; $form->created = new CDbExpression('NOW()'); $form->modified = new CDbExpression('NOW()'); //$form->password = sha1($string); $form->lastIp = $_SERVER['REMOTE_ADDR']; $form->save(); // Send Activation email ... // Render success ... } } //Display initial registration page ... }