Это довольно длинный вопрос, но я знаю, в чем дело.Я делаю сценарий входа в AJAX, используя CakePHP 2.0, но он продолжает терпеть неудачу.Я опубликую весь мой код, и я надеюсь, что у кого-то есть время, чтобы пройти через него.
Это моя база данных sql
AccountID AccountEmail AccountPassword AccountActive
1 chris@hotmail.co.uk pass 0
2 chris@gmail.com pass 1
Это мой соответствующий код модели
class Account extends AppModel {
public $name = 'Account';
public $validate = array(
'AccountEmail' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Please Enter A Valid Email.'
),
'email' => array(
'rule' => array('email', true),
'message' => 'Please supply a valid email address.'
)
),
'AccountPassword' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Please Enter A Valid Password.'
)
)
);
}
Это мой соответствующий код контроллера
class AppController extends Controller {
/**
* Class Variables
*/
public $helpers = array('Js', 'Html', 'Session', 'Form');
public $components = array(
'Session',
'RequestHandler',
'Auth' => array(
'logoutRedirect' => array(
'controller' => 'Accounts',
'action' => 'login'
),
'authError' => 'You can\'t Access That Page',
'authorize' => array('Controller'),
'authenticate' => array(
'Form' => array(
'fields' => array(
'username' => 'AccountEmail',
'password' => 'AccountPassword'
),
'scope' => array('AccountActive' => '1')
)
)
)
);
}
class AccountsController extends AppController {
/**
* Class Variables
*/
public $name = 'Accounts';
public $layout = 'Accounts';
/**
* Class Functions
*/
public function login()
{
if ($this->request->is('ajax')) {
$this->Account->set($this->data);
if ($this->Account->validates()) {
if($this->Auth->login()) {
echo "logged In";
exit;
} else {
echo "Login Failed";
exit;
}
} else {
echo 'validation/' . json_encode($this->Account->invalidFields());
exit;
}
}
}
Не думаю, что есть что-то еще.Опять же, я прошу прощения за огромное количество кода, но я просто не знаю, что вам нужно.
Вся информация передается через 'echo' в jquery, который в данный момент просто отображает ответ через 'alert'.
Я знаю, что проверка работает, но если я ввожу информацию о ком-то, кто должен иметь возможность войти в систему, он просто показывает «Ошибка входа».Спасибо за ваше время.