• User

    Cancellare gli utenti che non confermano l'iscrizione in un tempo prestabilito

    Ciao a tutti, ho creato un sistema di login dove simultaneamente agli utenti viene inviata una mail e i dati vengono registrati su una tabella provvisoria in attesa della conferma, dati che a iscrizione confermata cioè dopo il click sul link vengono spostati su una tabella definitiva e cancellati da quella provvisoria. Fin qui funziona tutto bene.
    Ora voglio risolvere il problema degli utenti che si registrano provvisoriamente ma non confermano entro 15 giorni o entro un mese l'iscrizione.
    Che tipo di campo data devo aggiungere nella tabella provvisoria? Di tipo microtime() o time()? O nessuna delle due ma altro ancora?
    Poi per fare il "DELETE FROM tabella_provvisoria WHERE data_iscrizione... è superiore di 15 giorni (oppure un mese) a quella data.... come devo procedere? Così posso ripulire la tabella ogni tanto. Chi mi può aiutare? Grazie a tutti e ciao.


  • User

    Potresti usare un cronjob.


  • User

    Io per lo stesso problema (in una mail list) ho usato una sola tabella con un campo stato del tipo
    1:richiesta in attesa di risposta
    2:attivo
    3:richiesta in attesa di cancellazione
    ecc.
    Per il discorso cancellazione ho usato un campo datetime
    DATETIME values in 'YYYY-MM-DD HH:MM:SS'
    e poi al delete fai il confronto tra la data attuale e la data nel campo datetime del record


  • User

    Siete davvero grandi, Ciao giocagiochi, si avevo pensato di usare la funzione cron ma ho saputo che funziona solo su piattaforma linux per questo motivo ho abbandonato l'idea, vorrei che andasse bene per entrambe le piattaforme... perciò ho pensato di creare un pannello di controllo che mi permette di tenere tutto sotto controllo, in questo anche il pulsantino per cancellare gli utenti che non confermano la registrazione... 🙂
    temp ma... ciò che mi hai appena detto è interessantissimo, dovrei fare anche una newsletter e incontrerò anche li sto problema, allora inserisco il datetime e il confronto come lo implemento? Puoi farmi un esempio con codice?
    Devo fare qualcosa tipo "se la data attuale è maggiore di 15 gg. o 30 gg." Delete etc... etc... Ciao raga, Grazie mille. :):):)


  • Bannato User Attivo

    DELETE FROM nometabella WHERE datainserimento < DATE_ADD(CURDATE(), INTERVAL -15 DAY)


  • User

    ciao saro78, 🙂 grazie,
    provo a fare come mi hai detto.
    P.S.: puoi commentarmi il frammento della query
    ... datainserimento < DATE_ADD(CURDATE(), INTERVAL -15 DAY)
    grazie.
    :ciauz:


  • Bannato User Attivo

    dove la data di inserimento è minore della data di oggi meno 15 giorni, ovvero tutti gli iscritti più di 15 giorni fa che non hanno confermato l'iscrizione; il "non hanno confermato l'iscrizione" lo controlli con un ulteriore campo che ti dice "confermato o meno".


  • User

    ciao saro78,:) grazie 1000. :ciauz::ciauz: