Salut à tous !

j'ai encore un peu de mal avec la POO de cake php. Voici un cas concret :

Je vais limiter l'inscription des utilisateur en premier lieu. Pour cela je leur fournis une clé "Beta Test". Donc mon cas, lors de l'inscription l'utilisateur dois me fournisseur une clés.

Les clés sont stocker dans une table, elle sont unique.

Un peu plus loin, dans mon controllers Users j'ai une fonction register.

Je voudrais, avant de valider instancier une clé beta.

//controller users.
function register()
{
    if(!empty($this->data))
    {
        $this->Betakey->creat();
        $this->Betakey->set($this->data'betakey']);
        if($this->Betakey->verify())
        {
            //... système procédure d'inscription
            $this->Betakey->delete();
        }
        else
        {
               echo "Mauvaise clé";
        }
    }
}

Apparacement ce système ne fonctionne pas, j'ai lu qu'il fallais utiliser un requestAction si ont voulais utiliser une fonction dans un autres model, il y'a pas d'autres solution ??

Pour l'instant j'utilise ce bout de code, qui n'est pas très propre mais fonctionnel. :

function register($id = null)
    {
        if(!empty($this->data))
        {

            if( $this->Betakey->find('count', array('conditions' => array('Betakey.key' => $this->data'Betakey'] ))) )
            {
                //procédure inscription.
                $this->Betakey->deleteAll(array('Betakey.key' => $this->data'Betakey']));
                $this->redirect('/users/thanks');
            }

    }

Merci

1 réponse


Dans ton premier code la fonction verify elle sort d'ou ?

"Apparacement ce système ne fonctionne pas," tu peux donner plus de détail, genre quel erreur as tu ?