Non riesco più ad inviare email con il php

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
scusa ma il titolo della discussione è " Non riesco più ad inviare email con il php"

stai chiedendo di un sistema di login autorizzazione

on sto capendo qual'è il problema
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
scusa se si chiama autorizzato perche tu lo chiami attivo? o viceversa

cmq apri una discussione a parte che in questa c'è confusione e rispiega con un po piu di calma cosa non va
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Pensavo che fosse la soluzione al problema chiamandolo attivo visto che su quello che mi avevi inviato l'avevi chiamato attivo per essere precisi sull'update. Ora apro una discussione a parte.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Le variabili $email e $password dove le prendi nello script? A quanto vedo non sono valorizzate da nessuna parte. Inoltre, perché mostri "Login incorretto" se invece i dati vengono trovati nella tabella utenti? Non dovrebbe essere il contrario?

Ciao Ale,

Ora ho capito cosa intendevi le valorizzazioni delle variabili. Ho combinato na cosa del genere, suggeritami dallo staff (o meglio da cricric)

PHP:
$mail->MsgHTML('Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/login.php?email=' . $_POST['email'] .'&password=' . $_POST['pass'].'">clicca qui per attivare</a></b>'." "."per attviare l'account. Grazie.");
Solo che non mi attiva un bel ciufolo. Questa è la pagina di attivazione.php

PHP:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Account attivato</title>   
    </head>
    <body>
        <?php
        // includiamo il file di configurazione
        require_once("connetti.php");

        // qui bisognera decriptare
        
         $username = $_GET['username'];
         $email = $_GET['email'];  

        // controlliamo se i parametri sono presenti in tabella
        $ctrl_login = mysql_query("SELECT id FROM utenti WHERE email='$email' AND username='$username'") or die(mysql_error()); 
        if (@mysql_num_rows($ctrl_login) == 0) {
            // esito login positivo quindi rendiamo l'utente attivo
    //        $obj = @mysql_fetch_object($ctrl_login) or die(mysql_error());
            // $query_attivo = @mysql_query("UPDATE utenti SET attivo='1' WHERE username='$username'" . $obj->id) or die(mysql_error());
         
             $id = $_REQUEST['id'];
    
    $sql = "UPDATE utenti ".
       "SET attivo = '$emp_salary'1' ".
       "WHERE username = $id" ;
             var_dump($sql);
            ?>
        <center> 
            <h1> Ora il tuo account è stato attivato. Ti arriverà un'altra emaail con i dati relativi alla tua connessione.
                Conserva l'emaile non cestinarla. Una volta persa, non potrai più accedere al tuo account.
            </h1>
        </center>
        <?php
    } else {
        // esito login negativo
        echo "Dati non validi Accesso negato.";
    }
    ?>

</body>
</html>

Mi puoi dare una mano o suggerimento ?????? Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
modifica la query
PHP:
$ctrl_login = mysql_query("SELECT id FROM utenti WHERE email='$email' AND username='$username'") or die(mysql_error());
in questo modo
PHP:
// controlliamo se i parametri sono presenti in tabella
$q = "SELECT id FROM utenti WHERE email='$email' AND username='$username'";
echo $q;
$ctrl_login = mysql_query($q) or die(mysql_error());
e posta quello che ti stampa
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

E qui cos'ho sbalgliato di ste cavoli di apici e virgolette del cavolo ????


PHP:
$mail->MsgHTML("Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/attivazione.php" >clicca qui</a> "per attivare il tuo account. Grazie.");

Se prima non risolvo quello non posso effettuare la modifica che mi hai mandato :(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se apri l'istruzione con i doppi apici all'interno devi usare quelli singoli
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Criric,

Ancora non ho potuto provare la tua query modificata. Mi da sempre errore la seguente istruzione. Non capisco cosa vuole :(

PHP:
$mail->MsgHTML("Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/attivazione.php>"." clicca qui</a> 'per attivare il tuo account. Grazie.");

Cosa c'è che non le piace ????
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
lo avevo scritto sopra
PHP:
$mail->MsgHTML("Grazie di esserti iscritto.<a href='http://utenti/fabio/MegaLaboratorio/attivazione.php'>clicca qui</a>per attivare il tuo account. Grazie.");
cmq hai tolto i dati in GET

attivazione.php?user= etc etc
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Si,

non andavano. Ma ho la stringa memorizzata, non l'ho cancellata. Ho fatto sia la prova con e senza, ma quelli sono necessari giusto ???? Tu intendi questa stringa qua:

PHP:
mail->MsgHTML('Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/login.php?email=' . $_POST['email'] .'&password=' . $_POST['pass'].'">clicca qui per attivare</a></b>'." "."per attviare l'account. Grazie.");

L'ho rimessa. Almeno non mi da errore. Veddiamo se funziona la query. No, niente stesso risultato. Non mi fa entrare. :( Che fare ?? Non fa proprio l'update è questo il problema.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ti riposto la pagina attivazione.php

PHP:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Account attivato</title>   
    </head>
    <body>
        <?php
        
        // includiamo il file di configurazione
        require_once("connetti.php");

        // qui bisognera decriptare
        
         $username = $_GET['username'];
         $email = $_GET['email'];  

        // controlliamo se i parametri sono presenti in tabella
$q = "SELECT id FROM utenti WHERE email='$email' AND username='$username'";
echo $q;
$ctrl_login = mysql_query($q) or die(mysql_error());
             $id = $_REQUEST['id'];

             echo " <html> <head>";
        echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
        
        echo "<center><h1> Ora il tuo account è stato attivato. Ti arriverà un'altra emaail con i dati relativi alla tua connessione.
                Conserva l'email e non cestinarla. Una volta persa, non potrai più accedere al tuo account.
</h1> </center> ";
       


  
        // esito login negativo
        echo "Dati non validi Accesso negato.";
    
  
    ?>

</body>
</html>

Qua mi da due lampadine, evidentemente c'è qualcosa che non gli piace.

PHP:
$ctrl_login = mysql_query($q) or die(mysql_error());
             $id = $_REQUEST['id'];

E questa è la pagina iscrizione.php attuale:

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 'phpmailer/class.phpmailer.php';  
$mail  = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP


$mail->Username   = "@gmail.com";  // GMAIL username


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

$mail->SetFrom("[email protected]");
 
$mail->Subject    = "Attivazione account.";


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

$mail->CharSet = "UTF-8";  //Content-Type" content="text/html;    


$mail->AddAddress($_POST['email']);

//$mail->MsgHTML('Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/login.php?username=' . $_GET['username'] .'&password=' . $_GET['pass'].'">clicca qui per attivare</a></b>'." "."per attviare l'account. Grazie."); 

$mail->MsgHTML('Grazie di esserti iscritto.  <a href="http://utenti/fabio/MegaLaboratorio/login.php?username=' . $_POST['username'] .'&password=' . $_POST['pass'].'">clicca qui per attivare</a></b>'." "."per attviare l'account. Grazie."); 

if(!$mail->Send()) {
    echo "Errore";
} else {
    echo "<h1> <br>Utente registrato correttamente. E' stata inviata un'email di conferma per attivare l'account</h1>";
    header("Refresh: 10;URL=login.php");
}
      
}
}
?>

Magari essendo più esperto di me identifichi subito l'errore.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
questo
PHP:
echo $q;
dovrebbe stamparti qualcosa me lo posti?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
allora metti die() subito dopo

PHP:
echo $g;
die();

serve a bloccare l'esecuzione della pagina
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Mi visualizza questo:

Ora poi non so quale sia "echo $q;". Probabilmente, dovrebbe essere questa: "Dati non validi Accesso negato."


SELECT id FROM utenti WHERE email='' AND username=''
Ora il tuo account è stato attivato. Ti arriverà un'altra emaail con i dati relativi alla tua connessione. Conserva l'email e non cestinarla. Una volta persa, non potrai più accedere al tuo account.
Dati non validi Accesso negato.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non gli arrivano i parametri
aggiungi questo
PHP:
echo $q;
var_dump($_GET);
die();
e posta

ps:
echo $q è questa
SELECT id FROM utenti WHERE email='' AND username=''
 
Discussioni simili
Autore Titolo Forum Risposte Data
W Non riesco più a modificare i dati di una tabella da phpmyadmin MySQL 0
A Non riesco più a visualizzare il codice sicurezza nel forum Supporto Mr.Webmaster 3
C Non riesco più ad entrare su WordPress...."È richiesto l'aggiornamento del database" WordPress 0
C Non riesco più a pubblicare il web con Front Page HTML e CSS 8
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
L Non riesco a riprodurre uno sfondo Photoshop 0
R Non riesco a rinnovare l'immagine di sfondo PHP 1
G non riesco a capire quale sia l'errore [SQL] MySQL 2
R Non riesco a cambiare l'immagine di sfondo PHP 4
I Non riesco ad accedere ftp tramite IP in LAN Reti LAN e Wireless 6
Leshabituelles Non riesco ad aggiornare PHP PHP 0
D [HTML] Non riesco aprire foto singole in un album creato con "iWebAlbum" HTML e CSS 1
D [MS Access] aiuto non riesco a capire MS Access 6
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
O PHP 5.6 non riesco ad abilitare TSL 1.2 PHP 1
C non riesco a inviare la posta con account alice Posta Elettronica 1
L [Javascript] aiuto non riesco a inviare in get dal server web locale su altervista con httpRequest Javascript 0
G [Javascript] non riesco a usare ace - ReferenceError: define is not defined 1 ace.js:37:1 Javascript 0
booklisa Non riesco a connettermi: Connection timed out CMS (Content Management System) 3
A Non riesco ad inviare una mail attraverso PHP su Xampp PHP 2
otto9due Lampeggiamento solo su .hover(), inizia ma non riesco a fermarlo! jQuery 2
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
V [PHP] Non riesco a trovare errore PHP 25
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
elpirata [HTML] Non riesco a centrare menu orizzontale HTML e CSS 5
CristianB72 Non riesco a connettermi al DB tramite PDO Database 10
G Non riesco a spostare un cerchio fatto con tracciati in photoshop Photoshop 1
gandalf1959 IPN Listener di Paypal, non riesco a registrare utente nel mio DB PHP 14
G Non riesco a colorare una campitura con lo strumento penna Photoshop 1
P non riesco a visualizzare i dati dopo aver inserto l'id PHP 36
P Non riesco a capire dove sta l'errore e perchè non mi memorizza il contenuto PHP 14
marino51 non riesco a caricare un allegato percgè non riesco a ridimensionare la finestra Supporto Mr.Webmaster 0
napuleone XP non riesco a cambiare le impostazioni delle cartelle Windows e Software 2
E non riesco a installare git su mac Mac e Software 0
Shyson Non riesco a modificare i commenti del visitatori Social Media Marketing 0
T Non riesco ad installare il composer su xampp Apache 0
A Non riesco a fare backup sito perchè Filezilla non scarica tutti i file! Web Server 4
P non riesco a registrarmi a MrW.Tools.it Comunicazioni dallo Staff 4
neo996sps Non riesco a fare un parse XML con PHP PHP 1
M non riesco a configurare Apache 0
S non riesco a capire la struttura di questo sito in PHP PHP 0
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
Monital variabili nei link, non riesco a passarle PHP 8
L Non riesco a far funzionare un plugin (probabilmente ho sbagliato qualcosa nel richiamare lo script) jQuery 10
S non riesco ad eliminare dei caratteri in PHP - Excel PHP 10
A Html e css non riesco a capire l'errore HTML e CSS 13
C Non riesco ad attivare il sito in locale (nè in rete) - PHP / EasyPHP PHP 4
P Befana che vola non riesco a trovarla Javascript 6
A Non riesco a visualizzare il file PHP 2

Discussioni simili