Bonjour,
j'ai un soucis avec une fonction de login REST avec cakephp !
public function loginMobile()
{
$this->autoRender = false;
header('Content-Type: application/json');
// Cross validation if the request method is POST else it will return "Not Acceptable" status
if(!$this->request->is('post'))
{
json_encode(array('status' => "Failed", "msg" => "Invalid Post value"));
}
$email = $this->request->data['mail'];
$password = Security::hash($this->request->data['pass'], 'sha1', true);
// Input validations
if(!empty($email) and !empty($password))
{
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$user = $this->User->find('first',array('conditions'=>array(
'User.mail'=>$email,
'User.pass'=>$password,
'User.active'=>1
)));
if(!empty($user)){
// If success everythig is good send header as "OK" and user details
echo json_encode(array('user'=>$user));
}
else{
echo json_encode(array('status' => "Failed", "msg" => "Invalid Email address or Password"));
}
}
}
// If invalid inputs "Bad Request" status message and reason
echo json_encode(array('status' => "Failed", "msg" => "Invalid Email address or Password"));
}
J'ai toujours un message d'erreur Undefined index: mail et Undefined index: password
Montre non également ton code JavaScript (ajax) pour voir comment les données sont envoyées dans la requête.
Ca ne serais pas plutôt $this->request->data['User']['mail'] normalement les données sont indexés par le nom du model sur cakePhp.