Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    RADIO BUTTON - invio scelta SI/NO via mail

    MI DITE PER FAVORE CHE COSA MANCA?

    ragazzi, vi scrivo due pezzi di codice del mio form. E un form contatti la cui interfaccia grafica è fatta in un documento html, e l'invio alla mia email dei risultati che compila l'utente sono gestiti da un file php a parte.
    Ora, così come vedrete il codice, la mail mi arriva così:

    Hai ricevuto una e-mail da: tizio, tizio@gmail.com.
    OGGETTO:
    bla bla bla

    MESSAGGIO:
    bla bla bla bla bla bla etc etc etc

    ISCRIZIONE ALLA NEWSLETTER:


    IP: ...............

    In sostanza, dopo la scritta "ISCRIZIONE ALLA NEWSLETTER" manca la scelta SI/NO fatta dall'utente. Ecco il codice html (poi seguirà il codice php dell'altro file):

    <form id="formail" method="post" action="">
    <div id="risposta">
    </div>


    Nome:</p>
    <input type="text" id="nome" name="nome" value="" />



    E-mail:</p>
    <input type="text" id="email" name="email" value="" />



    Oggetto:</p>
    <input type="text" id="oggetto" name="oggetto" value="" />



    Messaggio:</p>



    <textarea id="messaggio" name="messaggio" rows="9" cols="22"></textarea>
    </p>


    Voglio iscrivermi alla newsletter per essere sempre aggiornato su novità e offerte


    </p>



    <label>
    <input type="radio" name="newsletter" value="SI alla newsletter" />
    Sì</label>

    <label>
    <input type="radio" name="newsletter" value="NO alla newsletter" />
    No</label>

    <input type="submit" id="invia" name="invia" value="Invia" />
    </form>


    ECCO DI SEGUITO IL CODICE PHP del file che mi manda la mail all'indirizzo preimpostato:

    <?php
    //Recuperiamo tutte le variabili
    $mail = $_POST['mail'];
    $name = $_POST['name'];
    $subject = $_POST['subject'];
    $text = $_POST['messaggio'];
    $newsletter = $_POST['newsletter'];
    $ip = $_SERVER['REMOTE_ADDR'];

    //Qui andrà inserito il tuo indirizzo e-mail
    $to = "mioindirizzo@gmail.com";

    //Creazione del mesaggio da inviare
    $message = "Hai ricevuto una e-mail da: ".$name.", ".$mail.".
    ";
    $message .= "OGGETTO:
    ".$subject."

    ";
    $message .= "MESSAGGIO:
    ".$text."

    ";

    $message .= "ISCRIZIONE ALLA NEWSLETTER:
    ".$radio."

    ";

    $message .= "IP: ".$ip."
    ";
    $headers = "From: $mail \n";
    $headers .= "Reply-To: $mail \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, $subject,$message, $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>";
    }
    ?>

    MI DITE CHE COSA MANCA, visto che di php non so nulla? sono sicuro che sarà una cavolata immane, ma non riesco proprio ad andare avanti.
    grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    qui
    $message .= "ISCRIZIONE ALLA NEWSLETTER:
    ".$radio."

    "

    invece di $radio devi scrivere $newsletter

  3. #3
    @Alhazred: grazie per la risposta, ma ahimè, col tuo suggerimento non ho risolto.
    Ripensandoci, il form che ho, ha a suo supporto anche un file js, e non vorrei che a questo punto dipendesse da questo file il mio problema...
    Manca di sicuro la variabile dei radio button, che ho anche provato ad inserire stamattina, ma senza successo, nonostante dreamweaver non mi abbia segnalato errori in nessuna riga.
    posto il file .js che gestisce ulteriori info del mio form:

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

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

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

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

    Un oggetto valido'+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 ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&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);
    }
    });
    }

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.