我是cakephp 2.x的新手,所以我不知道如何做到這一點..我想從他的電子郵件地址和電話號碼登錄用戶..我的意圖是,如果數據庫中的數字是這個「12345」和用戶正試圖通過這個號碼「+12345」登錄,他可以登錄到系統..我已經寫了一個代碼,但我不知道如何使用此或調整我的代碼在auth組件作爲AUTH組件autometically登錄用戶..cakephp電話號碼驗證
這裏是我的控制器
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->authenticate = array(
'Authenticate.Cookie' => array(
'fields' => array(
'username' => 'email',
'password' => 'password'
),
'userModel' => 'User',
'scope' => array('User.active' => 1)
),
'Authenticate.MultiColumn' => array(
'fields' => array(
'username' => 'email',
'password' => 'password'
),
'columns' => array('email', 'mobileNo'),
'userModel' => 'User',
)
);
}
public function login() {
if ($this->Auth->login() || $this->Auth->loggedIn()) {
$this->redirect('/users/dashboard');
}else{
$this->layout='logindefault';
$this->set('title_for_layout', 'Account Login');
/*$this->Auth->logout();
$cookie = $this->Cookie->read('Auth.User'); */
if ($this->request->is('post')) {
if ($this->Auth->login() || $this->Auth->loggedIn()) {
if ($this->Session->check('Auth.User')){
$this->_setCookie($this->Auth->user('idUser'));
$this->redirect('/users/dashboard');
} }else {
$this->Session->setFlash('Incorrect Email/Password Combination');
}
}}
}
這裏是我試圖添加代碼..
$mobileNo='+123456789';
if (strpos($mobileNo,'+') !== false) {
$mobileNo=str_replace("+", "",$mobileNo);
}
?>
我不知道我能做到這一點......如果您已實現或此功能的工作,如果你不介意,否則它的工作要做。作爲我被困在此之前共享代碼這裏現在 – hellosheikh
沒有得到你..誰我替換...爲什麼我應該替換...我想要做的是..我想從電子郵件,數字和+號碼登錄用戶.. – hellosheikh
確切 - arent你在你的方法中使用'str_replace'來「統一」格式?只需將該代碼放在那裏(作爲控制器或模型中的自己的方法 - 或內聯)。 – mark