Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema Con Mail.php

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    14

    Problema Con Mail.php

    Ciao a tutti!
    ho bisogno di un aiuto da chi è più esperto di me.
    ho fatto un form di richiesta informazioni che manda le informazioni ad una email ma il controllo fatto con javascript non funziona per tutti i campi.
    ora vi posto la pagina del form:

    contatti.php

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" href="css/generale.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="css/mail.css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery_mail.js"></script>
    </head>

    <body>
    <p class="vini Stile2">Richiesta informazioni:
    <form method="post" name="contatti" action="">
    <div id="risposta">
    </div>
    <table width="525" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td width="154" align="right" class="contatti">Nome*</td>
    <td width="1">:</td>
    <td width="370"><input name="nome" type="text" id="nome" size="50" value=""></td>
    </tr>
    <tr>
    <td width="154" align="right" class="contatti">Città</td>
    <td width="1">:</td>
    <td width="370"><input name="citta" type="text" id="citta" size="50" value=""></td>
    </tr>
    <tr>
    <td width="154" align="right" class="contatti">Oggetto*</td>
    <td width="1">:</td>
    <td width="370"><input name="oggetto" type="text" id="oggetto" size="50" value=""></td>
    </tr>
    <tr>
    <td width="154" align="right" valign="top" class="contatti"> Messaggio*</td>
    <td width="1" valign="top">:</td>
    <td width="370"><textarea name="messaggio" cols="35" rows="4" id="messaggio" value=""></textarea></td>
    </tr>
    <tr>
    <td width="154" align="right" class="contatti">E-mail*</td>
    <td width="1">:</td>
    <td width="370"><input name="email" type="text" id="email" size="50" value=""></td>
    </tr>
    <tr>
    <td width="154" class="contatti"></td>
    <td width="1"></td>
    <td width="370"><p align="left"><span class="contatti">*Consenso al trattamento dei dati personali:</span>

    <input type="checkbox" name="privacy" id="privacy" value="" />
    <span class="contatti3">Dichiaro di aver letto regolare informativa ai sensi dell'articolo 13 del D. lgs. 196/2003 e presto il mio consenso al trattamento dei dati personali per i fini ivi indicati.</span></p>_</td>
    </tr>
    <tr>
    <td width="154" class="contatti"></td>
    <td width="1"></td>
    <td width="370"><input type="submit" id="invia" name="invia" value="Invia"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    ORA DEL FILE JAVASCRIPT jquery_mail.js

    $(document).ready(function(){
    $("#invia").click(function(){

    //Recuperiamo tutte le variabili
    var valid = '';
    var isr = ' è richiesto.</p>';
    var nome = $("#nome").val();
    var email = $("#email").val();
    var oggetto = $("#oggetto").val();
    var messaggio = $("#messaggio").val();
    var privacy = $("#privacy").val();
    //Eseguiamo una serie di controlli
    if (nome.length<1) {
    valid += '

    Un nome valido'+isr;
    }
    if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
    valid += '

    Un indirizzo e-mail valido'+isr;
    }
    if (oggetto.length<1) {
    valid += '

    Un oggetto valido'+isr;
    }
    if (messaggio.length<1) {
    valid += '

    Un messaggio valido'+isr;
    }
    if(privacy.checked==false){
    valid += '

    Spunta la casella per proseguire'+isr;
    }

    //Se i controlli non vengono superati, appare il messaggio di errore.
    if (valid!='') {
    $("#risposta").fadeIn("slow");
    $("#risposta").html("

    Errore:</p>"+valid);
    $("#risposta").css("background-color","#ffc0c0");
    }
    //Se i controlli vengono superati, compare un messaggio di invio in corso
    else {
    var datastr ='nome=' + nome + '&email=' + email + '&oggetto=' + oggetto + '&messaggio=' + encodeURIComponent(messaggio);
    $("#risposta").css("display", "block");
    $("#risposta").css("background-color","#FFFFA0");
    $("#risposta").html("

    Invio del messaggio in corso..</p>");
    $("#risposta").fadeIn("slow");
    setTimeout("send('"+datastr+"')",2000);
    }
    return false;
    });
    });
    //Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
    function send(datastr){
    $.ajax({
    type: "POST",
    url: "mail.php",
    data: datastr,
    cache: false,
    success: function(html){
    $("#risposta").fadeIn("slow");
    $("#risposta").html(html);
    $("#risposta").css("background-color","#e1ffc0");
    setTimeout('$("#risposta").fadeOut("slow")',2000);
    }
    });
    }

    E INFINE IL FILE PHP mail.php

    <?php
    //Recuperiamo tutte le variabili
    $email = $_POST['email'];
    $nome = $_POST['nome'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];
    $privacy = $_POST['privacy'];
    $ip = $_SERVER['REMOTE_ADDR'];

    //Qui andrà inserito il tuo indirizzo e-mail
    $to = "info@agriconservabio.it";

    //Creazione del messaggio da inviare
    $message = "Hai ricevuto una e-mail da: ".$nome.", ".$email.".
    ";
    $message .= "Messaggio:
    ".$messaggio."

    ";
    $message .= "IP: ".$ip."
    ";
    $headers = "From: $email \n";
    $headers .= "Reply-To: $email \n";
    $headers .= "MIME-Version: 1.0 \n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";

    //Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
    if(mail($to, $oggetto,$messaggio, $headers)){
    echo "

    Messaggio inviato con successo</p>";
    }
    //Altrimenti un messaggio di errore
    else{
    echo "

    Ci sono stati degli errori nell'invio della e-mail.</p>";
    }
    ?>

    OK HO BISOGNO D'AIUTO, STO INCOMINCIANDO AD USARE IL PHP E HO PAURA MI STIA SFUGGENDO QUALCOSA...
    ANCHE PERCHè HO UN ALTRO FORM DI RICHIESTA PREVENTIVO CON MOLTE PIù VOCI E SE NON MI FUZIONA IL CONTROLLO DEI CAMPI E I MESSAGGI D'ERRORE SARA' UN PROBLEMA...
    GRAZIE A TUTTI ANTICIPATAMENTE

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    prova ad usare questo script:
    codice:
    <script language="javascript"> 
    function Modulo() { 
    // Variabili associate ai campi del modulo 
    
    var nome = document.modulo.nome.value; 
    var cognome = document.modulo.cognome.value; 
    
     if ((nome == "") || (nome == "undefined")) { 
    alert("Il campo Nome è obbligatorio."); document.modulo.nome.focus(); return false; 
    } 
    else if ((cognome== "") || (cognome== "undefined")) {
     alert("Il campo Nome è obbligatorio."); document.modulo.cognome.focus(); return false; 
    
    } 
     //INVIA IL MODULO
     else { document.modulo.action = "add_user.php"; document.modulo.submit(); }
    
     } 
    </script>
    struttura form :
    codice:
    <form method="post" name="modulo" >
    <input type="text" name="nome"/>
    <input type="text" name="cognome"/>
    <input type="button" value="Registrati" onClick="Modulo()" />
    </form>

  3. #3
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    ovviamente lo script js va inserita prima della chiusura del tag </head>
    nell pagina dove sta il form

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    14
    e nel file php????

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.