Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-12-2008 09:54:14

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Intégrité des informations : mail + update/insert

Bonjour,

Pour faire simple, dans une application, lorsque qu'un visiteur veut s'inscrire à un espace membre, il passe par 3 étapes. L'utilisateur ~
1 - saisie un login et son email.
2 - reçoit un mail et doit cliquer sur un lien
3 - complète des informations personnelles et renseigne un mot de passe

lors de la 1re étape, je souhaite insérer l'utilisateur dans la DB et envoyer le mail. Cependant pour éviter que le mail soit envoyer mais que l'enregistrement ne soit pas fait ou inversement (si le serveur ne peut pas envoyer de mail), comment procéder vous pour être certain que les 2 soit fait, sinon rien.

Avec des manipulations avec la DB il me semble que cela s'appelle des transactions (avec rollback...) mais dans ce cas je ne sais pas comment faire.

Merci pour votre retour d'expérience.

Julien

Hors ligne

 

#2 24-12-2008 20:37:59

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: Intégrité des informations : mail + update/insert

Pour le petit bout de doc : http://framework.zend.com/manual/en/zen … ansactions

Si tu te situe dans tn controller tu peux remplacer $db  par $tonModel->getAdapter()
ce qui donnerais

$tonModel->getAdapter()->beginTransaction();
try {
//récupération de tes données
// etc...

$tonModel->insert($tesDonnees);

// envois de ton email
// si erreur email throw new Exception

$tonModel->getAdapter()->commit();
}
catch (Exception $e) {
   $tonModel->getAdapter()->rollback();
}


Voilà en gros, j'ai utilisé ça cette après midi justement et ça roule smile


Société : Direct Info Service

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages