Visualizzazione risultati 1 fino 5 di 5

Discussione: problema invio email php

  1. #1
    Guest

    Predefinito problema invio email php

    Salve sto realizzando un sito in php è ho la necessità di mandare email nel caso il visitatore richiede la password o il nome utente che si è scordato, non mi va in nessuna delle due pagina. posto il codice di entrambi spero in un vostro aiuto. GRAZIE

    nome utente e psw dimenticati:
    Codice PHP:
    <?php
    // connessione db
    // controlli form

    $stringa5="SELECT nomeutente,password FROM utenti WHERE (email='$_POST[email]')";
    $ris5=mysql_query($stringa5);
    while(
    $riga5= mysql_fetch_array($ris5))
    {
    $nomut=$riga5["nomeutente"];
    $psw=$riga5["password"];
    }
    echo
    "Richiesta effettuata con successo le arrivera un'email con i dati<br>";
    echo
    "<a href='index.php'>Home page</a>";
    mail("'$_POST[email]'","dati accesso",$nomut,$psw);
    ?>
    psw dimenticata:

    Codice PHP:
    <?php
    // connessione db
    // controlli form
    $stringa="SELECT nomeutente FROM utenti WHERE (nomeutente='$_POST[Nomeutente]')";
    $ris=mysql_query($stringa);
    $riga= mysql_num_rows($ris);
    if(
    $riga>'0')
    {
    echo
    "Le arriverà un'email contente la password<br>";
    $stringa2="SELECT email,password FROM utenti WHERE (nomeutente='$_POST[Nomeutente]')";
    $ris2=mysql_query($stringa2);
    while(
    $riga2=mysql_fetch_array($ris2))
    {
    $psw=$riga2["password"];
    $email=$riga2["email"];
    }
    mail($email,"password",$psw);
    echo
    '<a href="index.php">Home page</a>';
    }
    ?>
    Ultima modifica di alemoppo : 14-06-2012 alle ore 14.45.20 Motivo: +tag [php]

  2. #2
    Guest

    Predefinito

    guarda io prue dovevo fare una cosa con l' e-mail però mi hanno consigliato di non usare mail() ma di utilizzare phpmailer eccoti il link se vuoi per scaricarlo però devi imparati ad utilizzarlo
    http://code.google.com/a/apache-extr...downloads/list
    e questo è il codice da inserire nella pagina tua
    Codice PHP:
    <?
    include("class.phpmailer.php");
    $mittente = "server@vostrodominio.it";
    $nomemittente = "Richiesta Informazioni";
    $destinatario = "info@vostrodominio.it";
    $ServerSMTP = "smtp.vostrodominio.it" //server SMTP
    $corpo_messaggio = "Grazie per averci contattato!!\n"
    ."Cordiali Saluti,\nServizio Clienti";

    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP();
    $messaggio->SMTPKeepAlive = "true";
    $messaggio->Host = $ServerSMTP;
    $messaggio->From = $mittente;
    $messaggio->FromName = $nomemittente;
    $messaggio->AddAddress($destinatario);
    $messaggio->Body = $corpo_messaggio;
    if(!
    $messaggio->Send()) {
    echo
    "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
    echo
    "messaggio inviato correttamente";
    }
    ?>
    Ultima modifica di alemoppo : 14-06-2012 alle ore 13.53.37 Motivo: +tag [php]

  3. #3
    Guest

    Predefinito

    Altre soluzioni? GRAZIE ;)

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

    Predefinito

    Codice PHP:
    $stringa5="SELECT nomeutente,password FROM utenti WHERE (email='$_POST[email]')";
    Teoricamente, per gli array, se vuoi che nella stringa venga sostituito il valore, dovresti metterlo tra parentesi graffe... Anche se a me piace di più così:

    Codice PHP:
    $stringa5="SELECT nomeutente,password FROM utenti WHERE (email='".$_POST['email']."')";
    (anzi, lo farei ancora diverso, ma vabbè...).

    Ah, inoltre, occhio agli attacchi sql_injection... tutte le variabili provenienti da form, dovresti "filtrarle" con la mysql_real_escape_string().
    -----
    Anche qui:
    Codice PHP:
    mail("'$_POST[email]'","dati accesso",$nomut,$psw);
    Prova semplicemente:
    Codice PHP:
    mail($_POST['email'],"dati accesso",$nomut.' - '.$psw);
    Nella mail(), il quarto parametro è degli header, e $psw non mi sembra un header... Il testo dell'email va nel III parametro.
    -----
    Inoltre, mail() ritorna true in caso di successo, quindi metti un if per verificare che tutto sia andato bene... una cosa del tipo:

    Codice PHP:
    if(mail(<parametri>))
    echo
    'email inviata con successo';
    else echo
    'Problemi per inviare una email';
    Ciao!
    Ultima modifica di alemoppo : 14-06-2012 alle ore 14.47.21

  5. #5
    Guest

    Predefinito

    Tutto apposto sono riuscito GRAZIE

Regole di scrittura

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