$form->create('User', array('url'=>array
('controller'=>'users','action'=>'login')));On Aug 23, 9:50 pm, liaogz82 <[email protected]> wrote: > Hi all, > > I dont know why but my password is always sent as null in $this->data, > which causes it to be unable to retrieve data for comparison. The > following below are my codes: > > login.ctp > <div class="login"> > <h2>Login</h2> > <?php echo $form->create('User', array > ('controller'=>'users','action'=>'login'));?> > <?php echo $form->input('User.username');?> > <?php echo $form->input('User.password',array > ('type'=>'password'));?> > <?php echo $form->submit('Login');?> > <?php echo $form->end(); ?> > </div> <?php > ?> > > users_controller.php > function login() > { > $this->layout = 'login'; > if(!empty($this->data)) > { > $user = $this->User->validateLogin($this->data['User']); > if($user != '') > { > $this->Session->write('User', $user); > $this->Session->setFlash('You\'ve successfully logged > in.'); > $this->redirect(array('controller'=>'subscribers', > 'actions'=>'index')); > } > else > { > $this->Session->setFlash(json_encode($this->data)); > $this->redirect(array > ('controller'=>'users','actions'=>'login')); > } > } > } > > function logout() > { > $this->Session->destroy('user'); > $this->Session->setFlash('You\'ve successfully logged out.'); > $this->redirect($this->Auth->logout()); > } > > user.php > class User extends AppModel { > > var $name = 'User'; > // var $actsAs = array('Acl' => array('requester')); > var $useDbConfig = 'tracksdb'; > > function parentNode() { > } > > /* To get the login ID of staff > function getStaffID() > { > return "gangzheng"; > /* to change. The ID should be gotten from session > }*/ > > //The Associations below have been created with all possible keys, > those that are not needed can be removed > var $belongsTo = array( > 'Group' => array('className' => 'Group', > 'foreignKey' => 'group_id', > 'conditions' => '', > 'fields' => '', > 'order' => '', > 'counterCache' => ''), > ); > > var $hasMany = array( > 'Login' => array('className' => 'Login', > 'foreignKey' => 'user_id', > 'conditions' => '', > 'fields' => '', > 'order' => '', > 'limit' => '', > 'offset' => '', > 'dependent' => '', > 'exclusive' => '', > 'finderQuery' => '', > 'counterQuery' => ''), > ); > > function validateLogin($data) > { > $user = $this->find(array('username' => $data['username'], > 'password' => sha1($data['password'])), array('id', 'username')); > if(empty($user) == false) > return $user['User']; > return false; > } > > } > > The flash message kept showing {"User": > {"username":"gangzheng","password":null}}. So i am not sure what is > going on. the password field is always set to null no matter what i > type into the password field. Please help. Thanks > > Gangzheng --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] 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 -~----------~----~----~----~------~----~------~--~---
