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

7 réponses


ndiayejp
Auteur

j'ai essayé mais indefined 'User'

ndiayejp
Auteur

Cest bien UsersController et le Model User !

Montre non également ton code JavaScript (ajax) pour voir comment les données sont envoyées dans la requête.

ndiayejp
Auteur

earhater je ne te suis pas ! de quel code javascript ! parles tu

Pour moi REST c'est du code asynchrone côté client ^^

Fait un var_dump de ton $this->request->data pour voir ce que contient ton tableau.

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.