2

こんにちは私はコントローラーにこのメソッドを持っています

 public function registeruser($data){
    var_dump($data);
    if(($data) && ($this->User->create($data))) {
      if($data['User']['password'] != Security::hash($data['User']['confirm_password'], null, true) ){
        $this->Session->setFlash('las contraseñas no coinciden');
        // unset($this->data['User']['password']);
        // unset($this->data['User']['confirm_password']);
        $this->redirect('index');
      }
      else if($this->User->save($data)) {
         $this->_subscribMailchimp($data);

      }else {
        $this->Session->setFlash('El mail no es valido o ya está registrado.');
        unset($data['User']['password']);
        unset($data['User']['confirm_password']);
        $this->redirect('index');
      }
    }else {
      $this->Session->setFlash('No se ha podido registrar.');
      $this->redirect('index');
    }
    return $this->User->getLastInsertID();
}

$dataフォームテストコントローラーに合格する必要があります

    $data = array('User' => array('name' => 'Luis jose',
                                  'address' => 'el quinto pino',
                                  'zip' => '28012',
                                  'city' => 'Madrid',
                                  'province' => '5',
                                  'email' => 'luis@hotmail.com',
                                  'password' => Security::hash(Configure::read('Security.salt') . '12345'),
                                  'confirm_password' => '12345'));
    $this->testAction('/users/registeruser', array('data' => $data, 'method' => 'get'));

この配列を試してみました('data' => $ data、'method' =>'get')。コントローラ機能は配列を受け取りません

4

1 に答える 1

0

登録ユーザーは 1 つのパラメーター ($data) を想定しているため、URL は次のようになります。

/foo/registeruser/バー

$dataに「バー」を入力します

debug($this->request) を試して GET でデータを渡した結果を確認するか、POST を使用して $this->request->data (CakePHP 2) または $this->data ( CakePHP 1.3)

于 2012-06-08T15:29:37.757 に答える