Follow-up:

Got it worked.

On Jul 6, 9:51 am, Steveston <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to