Я очень новичок в этой CakePHP, и я получил задание, чтобы решить проблему, у нас есть интернет-магазины на платформах BrandX и брендовых магазинов CakePHP.
У меня есть модель CakePHP - Пользователь. Я храню некоторые данные в этих системах и другие данные локально, если пользователь существует в таблице, то он позволяет войти в хранилище, но если пользователь не существует в таблице, он должен создать этого пользователя, и пользователь должен вошел в магазин вместо того, чтобы создать пользователя, он отображает
пользователь с таким идентификатором отсутствует в нашей системе, пожалуйста, свяжитесь с администратором , я пытаюсь создать нового пользователя, передавая имя пользователя и пароль в URL, как указано ниже:
"http://mystorename.domainname.com/pages/index/username:" + username + "/password:" + password);
если я вставлю newuser в таблицу, он успешно войдет в систему, но не сможет создать нового пользователя.
Я не могу найти способ, чтобы это произошло. как я могу решить эту проблему, кто-то может сказать мне, как это сделать? Извините за мой плохой английский. Заранее спасибо ..
Вот код, пожалуйста, помогите исправить это
if(!empty($user_data)) {
if($user_data[$this->userModel]['active']==2)
{
$this->Session->setFlash('accout disabled');
return false;
}
$user_data_logged = $model->find('first',array('conditions'=>$login_filter));
if(!empty($user_data_logged))
{
$model->save(array( 'id'=>$user_data[$this->userModel]['id'], $this->fields['recent_login']=>date('Y-m-d H:i:s'),
$this->fields['login_attempts']=>0 ) );
$this->Session->write('Auth.'.$this->userModel,$user_data[$this->userModel]);
$status = $this->shout("LOGIN_SUCCESS",$points);
$this->authRedirect();
return true;
}
else
{
$login_attempts_made = $user_data[$this->userModel][$this->fields['login_attempts']];
$model->save(array( 'id'=>$user_data[$this->userModel]['id'],
$this->fields['login_attempts']=>$login_attempts_made+1 ) );
if($user_data[$this->userModel][$this->fields['login_attempts']]>=$this->max_login_attempts)
{
$model->save(array( 'id'=>$user_data[$this->userModel]['id'], 'active'=>2 ) ); $this->Session->setFlash($this->max_login_attempts.'
login attempts over... accout disabled');
return false;
}
}
} else {
$employee_id = $data[$this->fields['username']];
$user_data = $model->create('first',array('conditions'=>array($this->fields['username']=>$data[$this->fields['username']],$this->fields['password']=>$data[$this->fields['password']])));
$model->save(array($this->fields['username']=>$data[$this->fields['username']],$this->fields['password']=>$data[$this->fields['password']]));
//$this->Session->setFlash("$employee_id User with this employee id is not available in our system. for more details & registration
contact admin@domain.com");
//$status =$this->shout("LOGIN_FAIL",$employee_id);
//return false;
}