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