Warning email()

ciao


PHP:
require_once 'phpmailler/class.phpmailer.php';
 

Allegati

  • phpmailler.jpg
    phpmailler.jpg
    59,1 KB · Visite: 227
ciao

Ok, ci provo e poi ti dico. Provato, ma mi da sempre il solito risultato maledetto di errore. Non ci capisco più niente. Mantenendo le classi come ti avevi fatto vedere qualcosa si smuove. Togliendole, mi da il solito errore su require della chiamata alla classe. Ma che azzo vuole ????
 
Ultima modifica:
ciao

Ciao,

Ma dico kazzo, scusa ma sto iniziando ad innervosirmi. Non c'è l'ho con te ovviamente, ma con il nas. L'ho messo a posto dove c'è tutto il codice, e mi restituisce l'errore. Ora provo a ritrasferire il codice per intero con il tuo e vediamo cosa succede. Si deve sbloccare la maledettissima situazione. Non ci posso credere che il nas non invii le email. E' assurdo.
 
ciao

Ciao,

Ho provato ma mi da un errore. Ti posto l'intero codfice iscrizione.php, che po dovrebbe essere inetrgrato su quello. L'errore che mi da è il seguente:
Fatal error: Call to undefined method PHPMailer::SetFrom() in /volume1/web/utenti/fabio/MegaLaboratorio/iscrizione.php on line 142
PHP:
<?php

require_once("connetti.php");


if (!isset($_POST['reg'])) {
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Modulo d'iscrizone</title>

        <center>   <H1>BENVENUTO NEL SITO D'ISCIRIZIONE PROVA</H1>

            <form action= '' method="POST">

                <font face="Comic Sans MS">

                Nome:     <input type="text" name="nome"  maxlength="30" size ="32"> <br> <br>
                Cognome:  <input type="text" name="cognome"  maxlength="30" size ="32"> <br> <br>
                Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
                 Email:    <input type="text" name="email"  maxlength="40" size ="42"> <br> <br>
                 Rip-Email: <input type="text" name="ripemail"  maxlength="40" size ="42"> <br> <br>
                 Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                 Rip-Passw: <input type="password" name="passw"  maxlength="12" size ="14"> <br> <br>
                </font>
                <center>
                    <input type="submit" name="reg" value="Invio iscrizione" />
                    <input type="submit" name="uscita" value="Uscita" />
                </center> </form>
        </head>
        <body>



    <?php
    
} else {
 $nome = mysql_real_escape_string(strtolower(trim ($_POST['nome'])));
 $cognome = mysql_real_escape_string(strtolower(trim ($_POST['cognome'])));
 $username = mysql_real_escape_string(strtolower(trim ($_POST['username'])));
 $password = mysql_real_escape_string(trim ($_POST['password']));
 $passw = mysql_real_escape_string(trim ($_POST['passw']));
 $email = mysql_real_escape_string(trim ($_POST['email']));
 $ripemail = mysql_real_escape_string(trim ($_POST['ripemail']));


//crittografa la passowrod

$pass = mysql_real_escape_string(md5(trim($_POST['password'])));
 
// verifico la presenza dei campi obbligator
    
$ok_ko ="";

 //controllo campi compilati

if($nome ==""){$ok_ko .=  "Attenzione: il campo nome deve essere compilato. <br> <br>";}
if($cognome ==""){$ok_ko .=  "Attenzione: il campo cognome deve essere compilato. <br> <br>";}
if($username ==""){$ok_ko .=  "Attenzione: il campo username deve essere compilato. <br> <br>";}
if($email ==""){$ok_ko .=  "Attenzione: il campo email deve essere compilato. <br> <br>";}
if($password ==""){$ok_ko .=  "Attenzione: il campo password deve essere compilato. <br><br>";}
 
 
 if($password != $passw){$ok_ko .=  "Attenzione: le due password non coincidono. <br> <br>";}
 
// Controllo se lo username è presente nel db

$checkusername=mysql_query("SELECT username FROM utenti WHERE username='$username'");
$vuota=mysql_num_rows($checkusername);
if($vuota > 0){
	echo "<br> <br> <h1> Attenzione: lo username: ".$username." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
echo "<meta http-equiv='Refresh' content=4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
exit();

}
  
//controllo scrittura corretta dell'email
 
 if(!filter_var($email, FILTER_VALIDATE_EMAIL)||!filter_var($ripemail,FILTER_VALIDATE_EMAIL)){
     
             $ok_ko .= "indirizzo email non valido<br>";
 //   } //chiude il controllo scrittura corretta dell'email 

        // Controlla se le due email coincidono

if($email != $ripemail){$ok_ko .=  "Attenzione: le due email non coincidono. <br> <br>";}
} //chiude il controllo scrittura corretta dell'email

// Controllo se esiste l'email nel db

$checkemail=mysql_query("SELECT email FROM utenti WHERE email='$email'");
$vuota=mysql_num_rows($checkemail);
if($vuota > 0){
	echo "<br> <br> <h1> Attenzione: l'email: ".$email." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
echo "<meta http-equiv='Refresh' content=4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
exit();

}

if($ok_ko !=""){
		echo "<h1>$ok_ko</h1>";
		echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
exit();
}else{
 
 $query="INSERT INTO utenti(nome, cognome, username, email, password)  VALUES('$nome','$cognome','$username','$email','$pass')";
//var_dump($query);//qui dovresti vedere se la query si forma come dovrebbe
$q_i=mysql_query($query);//qui se registra, se bool false errore, se resuorce... è a posto
var_dump($q_i);
   

// Parte riguardante l'invio email

//require_once ("/class.phpmailler.php");

 require_once 'phpmailler/class.phpmailer.php';  

$mail  = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP


$mail->Host       = "mail.libero.it";

#Qui c'è il debug dell'smtp, se metti un commento non stampa diavolerie, ma è utile in fase di test per capire la natura di qualche errore
$mail->SMTPDebug  = "2";                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only


$mail->SMTPAuth   = "true";                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = "465";                   // set the SMTP port for the GMAIL server


$mail->Username   = "[email protected]";  // GMAIL username


$mail->Password   = "xxxxxxxxxxxxx";            // GMAIL password

 $mail->SetFrom($_POST['email']);
 
$mail->Subject    = "PHPMailer Test Subject via smtp (Gmail), basic";


$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test


$mail->MsgHTML('Questa è una prova in html <b>prova invio rmail</b>');


if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}



echo "<h1> <br>Utente registrato correttamente. E' stata inviata un'email di conferma per attivare l'account</h1>";
//e torno al form 
//header("Refresh: 2;URL=paginaris.php");     
header("Refresh: 2;URL=login.php");          
}
}
?>

Mi puoi verificare cortesemente cos'altro non va ??? Grazie.
 
Scusa che non ti ho risposto, ma sono stato impicciato con la scuola.

Credo manchino i file lingua.
Confrontando la foto con il tuo codice hai scritto php mailler invece di phpmailer nel codice alla riga 117
 
Ultima modifica:
Se vuoi carica tutto in uno zip o altro archivio e lo provo in locale (per tua sicurezza cancella i dati sensibili)
 
ciao

Provato in tutti i modi e non va assolutamente. Mi continua a dare errore. Quel maledetto errore. senza la doppia"ll". Con la doppia invece mi da il seguente errore:

Fatal error: Call to undefined method PHPMailer::SetFrom() in /volume1/web/utenti/fabio/EmailprovaMrWebMaster/provaemail.php on line 34
non ci sto a capì più niente ti mando il file zippato vedi se puoi verificarlo anche te tolgo i dati ssensibili che ho già fatto na cappellata. Te lo metto in sottoforma di file txt con estensione php.
 
Sta mattina devo andare a scuola (si ricomincia), quando torno sari e guardo il file.
A dopo!
 
Adesso mi funziona perfettamente, ho applicato una piccola modifica. Ti mancava il destinatario della mail. Mi funziona e le mail mi sono arrivate.

Ti allego il tutto. Il file è in estensione 7z, taroccato in txt perché è un'estensione non valida.
 

Allegati

Ah, per scompattarlo serve 7zip o altri programmi di archivizione. In che formato lo vuoi? zip, tar, o altro?
 
Grazie!
Allora, mancava il destinatario e l'editor mi segnalava un errore di sintassi.
Non mi ricordo quale, tipo una parentesi graffa di troppo.
 

Discussioni simili