Salve a tutti,
mi scuso per l'eventuale OT.
Vado subito al dunque:
ho un form per la creazione di un nuovo utente, i dati vengono salvati tramite PDO in un db postgres. Poiché alcuni dati vengono salvati in una tabella (rubrica) mentre altri in una tabella specifica (utenti), utilizzo le funzioni PDO per le transazioni.
Salvati i dati nel db, utilizzo phpMailer per inviare all'utente la password generata automaticamente dal sistema.
Allo stato attuale ho 4 possibili risultati:
1. entrambe le operazioni vanno a buon fine: dati salvati, mail spedita
2. nessuna delle operazioni va a buon fine: errore nella transazione dei dati, errore nell'invio della mail
3. l'utente viene creato ma la mail non viene spedita
4. la mail viene spedita ma l'utente non viene creato
Esiste un modo per evitare i punti 3 e 4? Cioé, se c'è un errore nell'invio della mail non salvare i dati nel db, oppure se c'è un errore nella query non inviare la mail.
Ho provato a gestire la cosa con try - catch ma non ho risolto.
Consigli?
Grazie a tutti e buona serata