Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Funzione mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40

    Funzione mail

    Ragazzi vorrei sapere se qualcuno può aiutarmi, questo è il mio problema:
    ho fatto uno script per registrare utenti al sito alla fine ho messo la funzione mail che dovrebbe inviare una mail all'indirizzo che si è registrato con dentro un codice per confermare la registrazione, solo che la mail non viene inviati.
    Lo script lo sto provando su un dominio direttamente in internet funziona tt apparte la mail
    Vi posto qui il codice:
    Codice PHP:
    <?php
       
       
    //Includo i files MySQL
           
    include("../DataBase/FunzioniMysql.php");
         
    $Oggetto = new MySQL();
         
    $Oggetto->Connetti();

       
    // Interfaccia
    interface Controllo_Form {
        public function 
    Controllo_ID();
        public function 
    Controllo_Pwd();
        public function 
    Controllo_EMail();
        public function 
    Controllo_Nome();
        public function 
    Controllo_Cognome();
        public function 
    Controllo_Nascita();
        public function 
    Controllo_Tutto();
        public function 
    Set_Messaggi_Di_Errore($Errori);
    }

      
    // Classe Dati_Errori
    abstract class Dati_Errori implements Controllo_Form {
        public 
    $ID;
        public 
    $Pwd;
        public 
    $Pwd1;
        public 
    $EMail;
        public 
    $Nome;
        public 
    $Cognome;
        public 
    $Nascita;
        public 
    $Messaggi_Di_Errore = array (
                       
    'ID1' => 'Il Nome Utente deve essere composto dai 3 ai 20 Caratteri.',
                       
    'ID2' => 'Il Nome utente pu&ograve; contenere solo lettere e/o numeri.',
                       
    'ID3' => 'Il Nome Utente scelto &egrave; gia in uso da un altro utente.',
                       
    'Password1_1' => 'La password pu&ograve; contenere dai 3 ai 12 caratteri.',
                       
    'Password1_2' => 'La password deve contenere lettere e/o numeri.',
                       
    'Password2_1' => 'La password di conferma pu&ograve; contenere dai 3 ai 12 caratteri.',
                       
    'Password2_2' => 'La password di conferma deve contenere lettere e/o numeri.',
                       
    'Confronto' => 'Le due password inserire non coincidono.',
                       
    'EMail' => 'L\' E-Mail inserita non &egrave; valida.',
                       
    'Nome1' => 'Il nome pu&ograve; contenere dai 3 ai 12 caratteri.',
                       
    'Nome2' => 'Il nome deve contenere solo lettere.',
                       
    'Cognome1' => 'Il cognome pu&ograve; contenere dai 3 ai 12 caratteri.',
                       
    'Cognome2' => 'Il cognome deve contenere solo lettere.',
                       
    'Nascita' => 'L\'anno di nascita inserito non Ã¨ valido.',
                       );
        private 
    $Messaggi_Di_Errore_Tutti '';
        public 
    $Dati_Validi = array();

          
    // Costruttore
        
    public function __construct() 
            {
                      
    $this->ID trim($_POST['ID']);
                      
    $this->Pwd trim($_POST['Pwd']);
                      
    $this->Pwd1 trim($_POST['Pwd1']);
                      
    $this->EMail trim($_POST['EMail']);
                      
    $this->Nome trim($_POST['Nome']);
                      
    $this->Cognome trim($_POST['Cognome']);
                      
    $this->Nascita trim($_POST['Nascita']);
            }
          
    // Metodi di segnalazione di errori
        
    protected function Segna_Errori($field) {
                     if(
    $this->Messaggi_Di_Errore[$field])  {
                                    
    $this->Messaggi_Di_Errore_Tutti .= "

    $this->Messaggi_Di_Errore[$field] . "</p>";
                     }
                     else {
                                    
    $this->Errori_Interni();
                     }
        }

        protected function 
    Ricevi_Messaggi_Di_Errore() {
                     if(
    $this->Messaggi_Di_Errore_Tutti != '') {
                                    echo 
    "<center><h1>Ricontrolla i dati inseri nella pagina.</h1></center>";
                                    include(
    "Form.php");
                                    echo 
    "<center>";
                                    echo 
    $this->Messaggi_Di_Errore_Tutti;
                                    echo 
    "</center>";
                                    return 
    false;
                     }
                     else {
                                    echo 
    "<h1>I dati sono stati inviat correttamente</h1>";
                                    return 
    true;
                     }
        }

        protected function 
    Errori_Interni() {
                     
    trigger_error('Errore indefinito.'E_USER_WARNING);
        }
    }

    class 
    Controlla_Form extends Dati_Errori {

          
    // Metodi Di controllo
        
    public function Controllo_ID() 
            {
                    
    $Convalida mysql_query("SELECT * FROM Utenti WHERE UserName = '$this->ID'");
                    
    $a 0;
                    if(
    strlen($this->ID)<|| strlen($this->ID)>20)
                        {
                         
    $this->Segna_Errori('ID1');
                        }
                    if(!
    is_string($this->ID) || !ctype_alnum($this->ID))
                        {
                         
    $this->Segna_Errori('ID2');
                        }
                    if(
    mysql_num_rows($Convalida) != $a)   
                        {
                         
    $this->Segna_Errori('ID3');
                        }
                    if(
    strlen($this->ID)>=&& strlen($this->ID)<=20 && is_string($this->ID) && ctype_alnum($this->ID) && mysql_num_rows($Convalida) == $a)
                        {
                         
    $this->Dati_Validi['ID'] = htmlentities($this->IDENT_QUOTES);
                        }
            }

        public function 
    Controllo_Pwd() 
            {
                    if(
    strlen($this->Pwd)<|| strlen($this->Pwd)>12)
                        {
                         
    $this->Segna_Errori('Password1_1');
                        }
                    if(!
    is_string($this->Pwd) || !ctype_alnum($this->Pwd))
                        {
                         
    $this->Segna_Errori('Password1_2');
                        }
                    if(
    strlen($this->Pwd1)<|| strlen($this->Pwd1)>12)
                        {
                         
    $this->Segna_Errori('Password2_1');
                        }
                    if(!
    is_string($this->Pwd1) || !ctype_alnum($this->Pwd1))
                        {
                         
    $this->Segna_Errori('Password2_2');
                        }
                    if(
    $this->Pwd != $this->Pwd1)
                        {
                         
    $this->Segna_Errori('Confronto');
                        }
                     if(
    strlen($this->Pwd)>=&& strlen($this->Pwd)<=12 && is_string($this->Pwd) && ctype_alnum($this->Pwd) && strlen($this->Pwd1)>=&& strlen($this->Pwd1)<=12 && is_string($this->Pwd1) && ctype_alnum($this->Pwd1) && $this->Pwd != $this->Pwd1
                        {
                         
    $this->Dati_Validi['Password'] = $this->Pwd;
                        }
            }
        public function 
    Controllo_EMail() 
            {
                     if(
    is_string($this->EMail)) {
                                    
    $this->Dati_Validi['EMail'] = strip_tags($this->EMail);
                     }
                     else {
                                    
    $this->Segna_Errori('EMail');
                     }
            }

        public function 
    Controllo_Nome() 
            {
                     if(
    strlen($this->Nome)<|| strlen($this->Nome)>20)
                        {
                         
    $this->Segna_Errori('Nome1');
                        }
                    if(!
    is_string($this->Nome) || !ctype_alnum($this->Nome))
                        {
                         
    $this->Segna_Errori('Nome2');
                        }
                    if(
    strlen($this->Nome)>=&& strlen($this->Nome)<=20 && is_string($this->Nome) && ctype_alnum($this->Nome))
                        {
                         
    $this->Dati_Validi['Nome'] = htmlentities($this->NomeENT_QUOTES);
                        }
            }

        public function 
    Controllo_Cognome() 
            {
                     if(
    strlen($this->Cognome)<|| strlen($this->Cognome)>20)
                        {
                         
    $this->Segna_Errori('Cognome1');
                        }
                    if(!
    is_string($this->Cognome) || !ctype_alnum($this->Cognome))
                        {
                         
    $this->Segna_Errori('Cognome2');
                        }
                    if(
    strlen($this->Cognome)>=&& strlen($this->Cognome)<=20 && is_string($this->Cognome) && ctype_alnum($this->Cognome))
                        {
                         
    $this->Dati_Validi['Cognome'] = htmlentities($this->CognomeENT_QUOTES);
                        }
            }

        public function 
    Controllo_Nascita() {
                     if((
    intval($this->Nascita) >= 1920) && (intval($this->Nascita) <= 2010)) {
                                    
    $this->Dati_Validi['Nascita'] = (int)$this->Nascita;
                     }
                     else {
                                    
    $this->Segna_Errori('Nascita');
                     }
        }

          
    // Funzione Controllo_Tutto
         
    public function Controllo_Tutto() {
                     
    $this->Controllo_ID();
                     
    $this->Controllo_Pwd();
                     
    $this->Controllo_EMail();
                     
    $this->Controllo_Nome();
                     
    $this->Controllo_Cognome();
                     
    $this->Controllo_Nascita();
                     return 
    $this->Ricevi_Messaggi_Di_Errore();
        }

        public function 
    Set_Messaggi_Di_Errore($Errori) {
                     foreach(
    $Errori as $Messaggi_Di_Errore_Tutti => $txt) {
                                    
    $this->Messaggi_Di_Errore[$Messaggi_Di_Errore_Tutti] = $txt;
                     }
        }
    }

    $Form  = new Controlla_Form();
    if(!
    $Form->Controllo_Tutto()) {
     exit();
    }
    else {
        echo 
    "

    [b]Nome Utente:[/b]" 
    $Form->Dati_Validi['ID'] . "</p>";
        echo 
    "

    [b]Password:[/b]" 
    trim($_POST['Pwd']) . "</p>";
        echo 
    "

    [b]Indirizzo E-Mail:[/b]" 
    $Form->Dati_Validi['EMail'] . "</p>";
        echo 
    "

    [b] Nome:[/b]" 
    $Form->Dati_Validi['Nome'] . "</p>";
        echo 
    "

    [b]Cognome:[/b]" 
    $Form->Dati_Validi['Cognome'] . "</p>";
        echo 
    "

    [b]Anno di nascit&agrave;:[/b]" 
    $Form->Dati_Validi['Nascita'] . "</p>";
        echo 
    "clicca <a href=\"../../Home.php\">qui</a> per tornare alla home";

      
    // Query per inserire i dati
      //Codice di conferma
      
    include("Random.php");
      
    $Obj = new Random();
      
    $Obj -> Genera();
      
    $Codice $Obj->Stringa;
      
            
    //Dati
            
    $_1 strtolower($Form->Dati_Validi['ID']);
            
    $_2 sha1(trim($_POST['Pwd']));
            
    $_3 $Form->Dati_Validi['EMail'];
            
    $_4 strtolower($Form->Dati_Validi['Nome']);
            
    $_5 strtolower($Form->Dati_Validi['Cognome']);
            
    $_6 $Form->Dati_Validi['Nascita'];
            
    $_8 "NC";
            
    $_9 trim($Codice);     
                    
        
    //Inserisco I Dati Nel DB            
         
    $Oggetto -> Query("INSERT INTO Utenti (UserName, Password, EMail, Nome, Cognome, Nascita, Iscrizione, Convalida, Codice ) 
                           VALUES 
                         ('
    $_1','$_2','$_3','$_4','$_5','$_6','now()','$_8','$_9')") or die (mysql_error()); 
       
                
    //Invio della mail
                    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
                    
    $Destinatario "$Form->Dati_Validi['EMail']";
         
                    
    // IL SOGGETTO DELLA MAIL
                    
    $Oggetto "Convalida la registrazione a GoldMyr";
         
                    
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
                    
    $Messaggio "Grazie per esserti iscritto a GoldMyr.\n";
                    
    $Messaggio .= "Per convalidare l'iscrizione clicca qui:\n";
                    
    $Messaggio .= "http://goldmyr.com/1/GestioneUtenti/2/Convalida.php\n";
                    
    $Messaggio .= "Speriamo che il sito ti piaccia e che tu partecipi alle varie attivit&agrave";
        
                    
    // INVIO DELLA MAIL
                    
    @mail($Destinatario,$Oggetto,$Contenuto);
         
                    if(@
    mail($Destinatario,$Oggetto,$Contenuto)) 
                        {
                        echo 
    "Entro poco ti arrivera una mail con un link per confermare l'iscrizione.";
                        } 
                    else 
                        {
                        echo 
    "Si sono verificati dei problemi nell'invio della mail di conferma.";
                        }
       
                              
    //Invio della mail
                    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
                    
    $Destinatario "$Form->Dati_Validi['EMail']";
         
                    
    // IL SOGGETTO DELLA MAIL
                    
    $Oggetto "Convalida la registrazione a GoldMyr";
         
                    
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
                    
    $Messaggio "Grazie per esserti iscritto a GoldMyr.\n";
                    
    $Messaggio .= "Per convalidare l'iscrizione clicca qui:\n";
                    
    $Messaggio .= "http://goldmyr.com/1/GestioneUtenti/2/Convalida.php\n";
                    
    $Messaggio .= "Speriamo che il sito ti piaccia e che tu partecipi alle varie attivit&agrave";
        
                    
    // INVIO DELLA MAIL
                    
    @mail($Destinatario,$Oggetto,$Contenuto);
         
                    if(@
    mail($Destinatario,$Oggetto,$Contenuto)) 
                        {
                        echo 
    "Entro poco ti arrivera una mail con un link per confermare l'iscrizione.";
                        } 
                    else 
                        {
                        echo 
    "Si sono verificati dei problemi nell'invio della mail di conferma.";
                        }
      
     
    //Disconnetti Dal DataBase
         
    $Oggetto->Disconnetti();

    }
    ?>
    Mi sembra che ci sia ttt
    Sper che qualcuno possa aiutarmi e grazie in anticipo

  2. #2
    Ciao,
    se togli la @ prima di mail che errore ti viene restituito?
    Potrebbe essere utile magari...
    --Cosimo
    MAIL: cosimo.g18@gmail.com

  3. #3
    Il messaggio è nella variabile $Messaggio, mentre in mail() usi $Contenuto.
    Può essere per questo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    Se tolgo la @ rimane tt come prima senza messaggio di errore
    Ho pure cambiato la variabile ma la mail non funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.