Hello every one,
I have a page http://www.mhunited.com/members/new_user/ on which there
are two forms one for login and another form registration. I have used
different email and password field name on these two form ,
registration working fine but the login functionality is not working
as the field name for email is emailid and for password it is pass.
And as these two fields name does not exit in database table it is not
working for me . I am very new to cake php , So please help me out to
sort this problem .
my controller code for login is :
function sign_in($flag = '') {
// echo "flag:".$flag ;
//print_r($this->data);die;
$this->pageTitle = 'Sign In | MH United';
$referral_url = $this->Session->read('redirected_url');
if(empty($referral_url)) {
$args = $this->passedArgs;
$referral_url = $this->value('rurl',
$this->value('rurl', '0',
$args), $this->data['Member']);
$referral_url = base64_decode($referral_url);
}
// echo "<pre/>";
// print_r($this->data);
//echo $this->data->
//$this->data = array("Member" => array("email"=>))
if(!empty($this->data)) {
if($this->Member->create($this->data) && $this->Member-
>validates()) {
$member =
$this->Member->authenticateMember($this->data);
//echo "member:";
//print_r($member);
if(is_array($member) && count($member) > 0){
$this->Session->write('Member.id' ,
$member['Member']['id']);
$this->Session->write('Member.member_name' , $member['Member']
['member_name']);
$this->Session->write('Member.account_type' , $member['Member']
['account_type']);
$this->Session->write('Member.package_id' , $member['Member']
['package_id']);
$this->Session->write('Member.email' ,
$member['Member']
['email']);
$this->Session->write('listing', '');
$listing['Property']['account_type'] =
$member['Member']
['account_type'];
$listing['Property']['package'] =
$member['Member']
['package_id'];
$this->Session->write('listing',
$listing);
// Making entries in login table to
track last login and other
informations
$data['Login']['member_id'] =
$member['Member']['id'];
$data['Login']['session_id'] =
session_id();
$data['Login']['client_ip'] =
$client_ip = $this->RequestHandler-
>getClientIP();
$data['Login']['created'] = date("Y-m-d
H:i:s");
$data['Login']['modified'] =
date("Y-m-d H:i:s");
$this->Login->save($data);
if(empty($referral_url)) {
$rrurl="";
$this->redirect(SITE_URL.'wplogin.php?username='.$this-
>data['Member']['email'].'&password='.$this->data['Member']
['password'].'&email='.$this->data['Member']['email'].'&display_name='.
$member['Member']['member_name'].'&rurl='.$rrurl.'');
}
else {
$this->Session->write('redirected_url', '');
$rrurl=base64_encode($referral_url);
$this->redirect(SITE_URL.'wplogin.php?username='.$this-
>data['Member']['email'].'&password='.$this->data['Member']
['password'].'&email='.$this->data['Member']['email'].'&rurl='.
$rrurl.'');
}
}else{
$this->Session->setFlash($this->Member->getError());
//$this->session.write('sign_in',
'true');
//echo "inside sign in<br/>";
//$err= $this->Member->getError();
//echo $err;exit;
$this->render('/members/new_user/');
}
} else {
$this->Member->invalidFields();
$this->render('/members/new_user/');
}
}
$this->set('rurl', $referral_url);
}
and inside model i used validation like this :
case 'sign_in':
$this->validate = array(
'emailid' => array(
'required' => array('rule'=>
array('notEmpty'), 'last'=>true),
'validemail' => array('rule' =>
array('email'), 'message' =>
'Please enter valid email address')
),
'pass' => array(
'required' => array('rule'=>
array('notEmpty'), 'last'=>true)
)
);
break;
How to get rid of these types of problem , please help.
Thanks
--
Our newest site for the community: CakePHP Video Tutorials
http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others
with their CakePHP related questions.
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php