Visualizzazione risultati 1 fino 17 di 17

Discussione: Form mail non funzionante...

  1. #1
    Guest

    Predefinito Form mail non funzionante...

    Ehi ragazzi, mi servirebbe un'altra mano, sono un po ritardato con gli script php...
    ho un problema in un form mail, non mi invia niente...

    gli dareste un'occhiata???

    Eccolo:
    Codice PHP:
    <?

    $testobottone
    = "Invia";
    $reset = "Reimposta";
    $tuamail = "";

    $nome = trim(stripslashes($_POST['nome']));
    $mitt = trim(stripslashes($_POST['mitt']));
    $ogg = trim(stripslashes($_POST['ogg']));
    $testo = trim(stripslashes($_POST['testo']));
    $bottone = trim(stripslashes($_POST['bottone']));
    if(empty(
    $mitt)){$mitt = "anonimo@anonimo.com";}


    if (
    trim($nome) == "" or trim($ogg) == "" or trim($testo) == "")
    {
    echo
    "Inserisci tutti i campi contrassegnati da (*)";
    echo
    "<a href=\"contatti.htm\">Torna indietro</a>";
    die();
    }


    $mail = mail($tuamail, $nome, $mitt, $ogg, $testo);


    if(
    $mail){echo "L'email è stata inviata!";}
    else{echo
    "Per problemi tecnici non &egrave; stato possibile spedire la mail";}

    ?>
    Vi ringrazio in anticipo

    Usa i tag appositi per il codice php.
    Ultima modifica di seneca : 29-06-2006 alle ore 19.15.56

  2. #2
    L'avatar di powser
    powser non è connesso Moderatore
    Data registrazione
    29-12-2003
    Residenza
    Ragusa
    Messaggi
    2,917

    Predefinito

    su $tuamail="";
    devi specificare la tua mail
    $tuamail="ciccio@etcetc.com"
    "I have something to say, it's better to burn out than to fade away..." Victor Kruger/The Kurgan

    My Site

    La risposta alla tua domanda, la trovi su http://forum.altervista.org basta fare una ricerca!

  3. #3
    Guest

    Predefinito

    questo lo sapevo anche io però l'ho tolta prima di pubblicare il form!!!

    non sono mica...

  4. #4
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da mondoragazzi3000
    questo lo sapevo anche io però l'ho tolta prima di pubblicare il form!!!

    non sono mica...
    Dicci almeno a che punto di codice si ferma

  5. #5
    Guest

    Predefinito

    come a che punto si ferma il codice???

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Leo91
    Che output visualizzi, qualche messaggio????
    si quello che ho impostato i caso l'email non venga inviata:
    Per problemi tecnici non è stato possibile spedire la mail

  8. #8
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    ho corretto lo script (quello che ti avevo dato per email):
    Codice PHP:
    <?
    /*
    Modifica i solo quello che viene chiesto :)
    */

    //Modifica solo questa parte!
    $maxlung = "600"; // Lunghezza massima per il testo della mail
    $tuamail = ""; // Mail a cui verrà recapitato il messaggio
    //Fine parte da modificare

    // Imposto le variabili
    $nome = trim(stripslashes($_POST['nome']));
    $mitt = trim(stripslashes($_POST['mitt']));
    $ogg = trim(stripslashes($_POST['ogg']));
    $testo = trim(stripslashes($_POST['testo']));
    $bottone = trim(stripslashes($_POST['bottone']));

    $ip = $_SERVER['REMOTE_ADDR'];
    $useragent = $_SERVER['HTTP_USER_AGENT'];

    if(empty(
    $mitt)){$mitt = "none@nobody.org";}

    //imposto gli header
    $header = "From: $nome <$mitt>
    MIME-Version: 1.0
    Content-type: text/plain; charset=iso-8859-1
    X-Mailer: PHP
    IP:
    $ip
    USER_AGENT:
    $useragent";


    // questa parte serve per usare lo script in un unico file
    if(empty($nome) or empty($mitt) or empty($ogg) or empty($testo)){
    // controllo se i campi sono vuoti ed eventualmente stampo l'errore
    echo "Tutti i campi contrassegnati con l'asterisco sono obbligatori!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo"
    ;
    }
    //controllo la validità della mail e restituisco errore se non fosse coretta
    elseif(!eregi("^([a-z0-9]+)([\.-_]+)(@[a-z0-9_-]+)(\.{1}[a-z]{2,6})$", $mitt)){
    echo
    "Mail non corretta!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo con una mail corretta"
    ;
    }
    //controllo la lunghezza del testo e restituisco l'errore nel caso il testo fosse troppo lungo
    elseif(strlen($testo)>$maxlung){
    echo
    "Testo troppo lungo!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo un messaggio pi&ugrave; sintetico"
    ;
    }
    else{
    // se non ci sono campi vuoti invia la mail

    $mail = mail($tuamail, $ogg, $testo, $header);

    //controllo che la mail sia stata inviata veramente e restituisco errore in caso di fallimento
    if($mail){echo "L'email è stata inviata!";}
    else{echo
    "Per problemi tecnici non &egrave; stato possibile spedire la mail";}
    }
    ?>
    ciao ciao

    P.S. se mi rispondevi per email ti davo questo codice, il commento in alto l'ho scritto perchè anche qualcun'altro sul forum potrebbe avere lo stesso problema...
    Ultima modifica di domenicoragusa : 29-06-2006 alle ore 21.02.41

  9. #9
    Guest

    Predefinito

    bravo Domenico ti ringrazio

    EDIT: ora funziona però c'è un'altro problema...
    non mi registra l'ip
    Ultima modifica di funcool : 30-06-2006 alle ore 08.55.00

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    L'indirizzo IP dove lo devi registrare?
    Per recuperare l'indirizzo IP devi fare così:
    Codice PHP:
    $ip=$_SERVER['REMOTE_ADDR'];
    P.S.: Non fare UP, usa il tasto Edita.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    come ti ho detto per email, l'ip viene registrato, ma sta negli header, (te l'ho già detto...) fai così:
    - Salva la mail come file.eml;
    - Aprila con il notepad;
    - Leggi gli header, l'ip e l'useragent dovrebbero essere proprio prima il testo.
    Ciao ciao

  12. #12
    Guest

    Predefinito

    ma si ho fatto tutto, ma non funziona....
    help me!

  13. #13
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    dopo aver 'parlato' con kevin ho capito che gli header della mail non gli vengono salvati quindi posto qui la modifica che dovrebbe fare per vedere ip ed user agent dentro il testo della mail;
    dagli header metti questo:
    Codice PHP:
    $header = "From: $nome <$mitt>
    MIME-Version: 1.0
    Content-type: text/plain; charset=iso-8859-1
    X-Mailer: PHP"
    ;
    e metti questo dove sta la funzione mail:
    Codice PHP:
    $mail = mail($tuamail, $ogg, "Ip: $ip \nUser Agent: $useragent \n ------\n $testo", $header);
    non l'ho provato ma dovrebbe andare
    ciao ciao

  14. #14
    Guest

    Predefinito

    ok ci provo...
    Ciao ciao

    EDIT: ora mi arriva ma non funziona,
    l'indirizzo ip non è il mio (quello da cui o testato l'invio del form)
    e neanche l'user agent....
    Ultima modifica di debug : 30-06-2006 alle ore 13.08.29

  15. #15
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    non postare 2 volte; stiamo risolvendo in privato. Al massimo possimo postare gli sviluppi, così se un utente ha lo stesso problema non ha grandissime difficoltà
    ciao ciao

  16. #16
    Guest

    Exclamation tutto risolto

    posto lo script completo
    Questa è la pagina elabora (si deve chiamare mail.php)
    Codice PHP:
    <?
    /*
    Modifica i solo quello che viene chiesto :)
    */

    //Modifica solo questa parte!
    $maxlung = "600"; // Lunghezza massima per il testo della mail
    $tuamail = "inserisci qui la tua mail"; // Mail a cui verrà recapitato il messaggio
    //Fine parte da modificare

    // Imposto le variabili
    $nome = trim(stripslashes($_POST['nome']));
    $mitt = trim(stripslashes($_POST['mitt']));
    $ogg = trim(stripslashes($_POST['ogg']));
    $testo = trim(stripslashes($_POST['testo']));
    $bottone = trim(stripslashes($_POST['bottone']));

    $ip = $_SERVER['REMOTE_ADDR'];
    $useragent = $_SERVER['HTTP_USER_AGENT'];

    if(empty(
    $mitt)){$mitt = "none@nobody.org";}

    $header = "From: $nome <$mitt>
    MIME-Version: 1.0
    Content-type: text/plain; charset=iso-8859-1
    X-Mailer: PHP"
    ;



    // questa parte serve per usare lo script in un unico file
    if(empty($nome) or empty($mitt) or empty($ogg) or empty($testo)){
    // controllo se i campi sono vuoti ed eventualmente stampo l'errore
    echo "Tutti i campi contrassegnati con l'asterisco sono obbligatori!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo"
    ;
    }
    //controllo la validità della mail e restituisco errore se non fosse coretta
    elseif(!eregi("^([a-z0-9]+)([\.-_]+)(@[a-z0-9_-]+)(\.{1}[a-z]{2,6})$", $mitt)){
    echo
    "Mail non corretta!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo con una mail corretta"
    ;
    }
    //controllo la lunghezza del testo e restituisco l'errore nel caso il testo fosse troppo lungo
    elseif(strlen($testo)>$maxlung){
    echo
    "Testo troppo lungo!
    <br>
    Clicca <a href=\"contatti.htm\">qui</a> per completare il modulo un messaggio pi&ugrave; sintetico"
    ;
    }
    else{
    // se non ci sono campi vuoti invia la mail

    $mail = mail($tuamail, $ogg, "Ip: $ip \nUser Agent: $useragent \n ------\n $testo", $header);

    //controllo che la mail sia stata inviata veramente e restituisco errore in caso di fallimento
    if($mail){echo "L'email è stata inviata!";}
    else{echo
    "Per problemi tecnici non &egrave; stato possibile spedire la mail";}
    }
    ?>

    ciao ciao
    Questo è il form si deve chiamare: contatti.htm oppure si può modificare però modificando anche le parti della pagina mail.php

    Codice PHP:
    "Clicca <a href=\"contatti.htm\">qui</a>" ecc...
    (Attenzione: Ci sono più parti da modificare)

    sostituendo dove sta scritto contatti.htm con il nome della pagina a vostra scelta

    (si può trasformare anche in una pagina php)
    Codice HTML:
    <form method="POST" action="mail.php">
    <table width="298">
    <tr>
    <td><font face="Times New Roman" size="4">Nome*</font></td><td width="221">
    <font size="4" face="Times New Roman">
    <input type="text" name="nome" maxlength="30" size="24"></font></td>
    </tr>
    <tr>
    <td><font face="Times New Roman" size="4">E-mail</font></td><td width="221">
    <font size="4" face="Times New Roman">
    <input type="text" name="mitt" maxlength="50" size="24"></font></td>
    </tr>
    <tr>
    <td><font face="Times New Roman" size="4">Oggetto*</font></td><td width="221">
    <font size="4" face="Times New Roman">
    <input type="text" name="ogg" maxlength="30" size="24"></font></td>
    </tr>
    <tr>
    <td><font face="Times New Roman" size="4">Testo*</font><p>
    <font face="Times New Roman" size="4">(max 600 carratteri)</font></td>
    <td width="221">
    <font size="4" face="Times New Roman"><textarea cols="25" rows="5" name="testo"></textarea></font></td>
    </tr>
    <tr>
    <td></td><td width="221">
    <font size="4" face="Times New Roman">
    <input type="submit" name="bottone" value="Invia">
    </font><font size="4" face="Times New Roman">
    <input type="reset" value="Reimposta" name="reset">
    </font>
    </td>
    </tr>
    </table>
    <p>&nbsp;</p>
    <p><font face="Times New Roman" size="5">(*) Tutti i campi contrassegnati sono 
    obbligatori.</font></p>
    </form>
    Ultima modifica di mondoragazzi3000 : 30-06-2006 alle ore 14.35.04

  17. #17
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    A posto, chiudo.
    Ciao!


    -- Aut Roma Aut Nihil!

Regole di scrittura

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