Hi folks, I want to edit user's profile and save changes. It is supposed not to be a hard task, however, I do not know why I cannot make it work. Any help? Many thanks!
the method in controller is: function editProfile() { $id = $this->rdAuth->id; $ifChangePassword=false; $ifPasswordError=false; $id = $this->Sanitize->paranoid($id); //Clear $id to only the alphanumeric value if (empty($this->params['data'])) { $this->User->setId($id); $this->data = $this->User->read(); //load current user's data & pre-fill view page } //end of if form is empty else //not empty form { //if password1 and password2 are not empty if (!empty($this->params['form']['password1']) && ! empty($this->params['form']['password2']) ) { if ($this->params['form']['password1'] == $this- >params['form']['password2'] ) $ifChangePassword=true; else $ifPasswordError=true; } //else: both empty, ifPasswordError and ifChangePassword are both false, default value if ($ifChangePassword && !$ifPasswordError ) $this->data['User']['password']=$this->params['form'] ['password1'];//update password if ( $this->User->save($this->data)) { //Render to view page to display saved data //TODO: Display list of users after import $user = $this->User->read(); $this->set('data', $user); } else $this->validateErrors($this->User); } $this->set('ifChangePassword',$ifChangePassword); $this->set('ifPasswordError',$ifPasswordError); $this->set('passwordError','Password inputs do not match'); $this->User->save($this->data); echo $ifChangePassword ? 'ifChangePassword=>yes ':'ifChangePassword=no '; echo $ifPasswordError ? 'ifPasswordError=>yes ':'ifPasswordError=>no'; } Its view page is: <p align="center">Edit Profile </p> <?php echo $html->formTag('/users/editProfile'); echo empty($data['User']['id']) ? null : $html->hidden('User/ id',array('value'=>$data['User']['id'])); echo empty($data['User']['role']) ? null: $html->hidden('User/ role',array('value'=>$data['User']['role'])); ?> <table width="100%" border="0"> <tr> <td width="15%">Username</td> <td width="85%"><?php echo $html->input('User/username',array ("size"=>15,'disabled'=>true)); echo $html->tagErrorMsg('User/username','Username error'); ?></td> </tr> <tr> <td>Last Name </td> <td><?php echo $html->input("User/last_name",array("size"=>15)); echo '<b>'.$html->tagErrorMsg('User/last_name','Last name cannot contain number').'</b>'; ?></td> </tr> <tr> <td>First Name </td> <td><?php echo $html->input("User/first_name",array("size"=>15)); echo '<b>'.$html->tagErrorMsg('User/firstname','First name cannot contain number').'</b>'; ?></td> </tr> <tr> <td>Title</td> <td><?php echo $html->input("User/title",array("size"=>15)); ?></ td> </tr> <tr> <td>Student Number </td> <td><?php echo $html->input("User/student_no",array("size"=>15)); ?></td> </tr> <tr> <td>Email</td> <td><?php echo $html->input("User/email",array("size"=>30)); echo '<b>'.$html->tagErrorMsg('User/email','Invliad Email format').'</b>'; ?></td> </tr> <tr> <td>New password </td> <td> Please leave the following two input fields empty if you do not want to change password <br/><input type="password" name="password1"/> <?php if (isset($ifPasswordError) && $ifPasswordError) echo '<b>'.$passwordError.'</b>'; ?> </td> </tr> <tr> <td>Confirm your password </td> <td> <input type="password" name="password2"/> </td> </tr> </table> <center> <?php echo $html->submit('Submit'); ?> </center> </form> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---