Visualizzazione risultati 1 fino 4 di 4

Discussione: Registrazione utenti

  1. #1
    L'avatar di gasweb
    gasweb non è connesso Utente giovane
    Data registrazione
    01-11-2003
    Messaggi
    54

    Predefinito Registrazione utenti

    Salve, sto aggiornando i miei codici PHP che usavano funzioni tipo mysqli_, con PDO; tutto funziona bene tranne per la procedura di registrazione di utenti con relativo salvataggio in una tabella del database.
    Non riesco a venire a capo di come impostare la mail da inviare all'indirizzo di registrazione, la pagina che dovrebbe gestire la cosa fallisce sempre questo passaggio
    Codice:
    if (mail($a, $oggetto, $messaggio, $intestazioni, "-f" . $mittente_altervista))
    L'utente viene comunque aggiunto nel database, con tanto di password criptata con password_hash() e token generato da bin2hex(random_bytes(32)); la mail dovrebbe contenere il link per attivare l'account innescando una pagina attiva.php che convalida il token...
    Quel "-f" mi è stato suggerito da Gemini perché pare sia necessario su questo hosting, ma anche rimuovendolo non cambia nulla.
    PHP impostato alla versione 8.
    Sono fermo da giorni su questo , prima con mysqli_ funzionava.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,637

    Predefinito

    Cosa valgono i vari valori? Fallisce perché ritorna false o non vedi l'email inviata?
    $mittente_altervista è il tuo alias? <username>@altervista.org ?


    Ciao!

  3. #3
    L'avatar di gasweb
    gasweb non è connesso Utente giovane
    Data registrazione
    01-11-2003
    Messaggi
    54

    Predefinito

    I valori sono i parametri necessari alla funzione mail() di PHP (https://www.w3schools.com/php/func_mail_mail.asp) provata anche nella versione a tre parametri (destinatario, oggetto/titolo della mail, messaggio con link di attivazione), inutilmente.
    $mittente_altervista è gasweb@altervista.org.
    Il risultato si ferma ad aggiungere il record nella tabella degli utenti, ma anziché inviare la mail finisce nell'else con stampa del messaggio previsto "Utente aggiunto ma si è verificato un problema nell'invio della mail", che effettivamente non parte.
    Attualmente ho ripiegato mostrando il link di attivazione nella pagina web (almeno per testare il codice php di elaborazione del token e di attivazione dell'account), e a quel punto tutto funziona, ma sto bypassando qualunque server SMTP dato che la mail dell'utente viene solo caricata nel database ma non sfruttata come destinazione di una mail che non è più spedita.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,637

    Predefinito

    Confermo che i valori sono necessari (non ho mai detto il contrario ).

    Dalla tua risposta, presumo che mail() ritorna false perché parli di "else" (non vedendo il codice vado un po' ad intuito).

    SMTP non funziona su AlterVista, ma mail() dovrebbe funzionare, o al più puoi usare servizi esterni come Brevo o SendGrid.

    Tornando a mail(), se torna false probabilmente AlterVista ti ha disabilitato l'invio email per qualche motivo. Sul pannello di controllo -> Messaggi hai qualche comunicazione in merito? Oppure ti è arrivata qualche email? Se trovi la comunicazione, dovresti trovare anche il link per riattivare l'invio email. Se non lo trovi, fammi sapere.

    Se invece non torna false, prova ad esempio come indicato qui.

    Ciao!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •