• User

    Invio mail di un form con delle check-box flaggate

    Ciao a tutti,
    ho una pagina creata con html e php dove c'è una tabella con delle checkbox, vorrei poterla inviare per email (con php) con i flag impostati enlle caselline.
    Ho fatto diverse prove, riesco ad inviare la mail mediante la funzione mail ();, ma la mail mi arriva con la tabella e le checkbox vuote.
    Come posso fare?

    p.s. chiedo scusa se non sono stato chiaro, ma non ho trovato parole migliori per spiegare la problematica!

    Grazie,
    Federico 😉


  • ModSenior

    Ciao federico.s,

    dovresti fornirci il codice utilizzato.


  • User

    Ciao e scusatemi per il ritardo nella risposta :gtsad:
    Di seguito riporto il codice per l'invio della mia tabella, ho cercato di mettere un po' di commenti nel caso in cui qualcuno voglia utilizzarlo.

    <body>

    <?php
    //tabella
    $tabella='
    <table border="1">
    <tr>
    <th>Nome colonna</th>
    <th>Risultato </br> OK KO</th>
    <th></th>
    </tr>
    <tr>
    <td>prima riga</td>
    <td align="center"><input type="checkbox" class="case" name="case" value="1"/>
    <input type="checkbox" class="case" name="case" value="1"/>
    </td>
    <td><input name="combo segnalazioni" type="text" value="" size="40" maxlength="200" />
    </td>
    </tr>
    <tr>
    <td>seconda riga</td>
    <td align="center"><input type="checkbox" class="case" name="case" value="1"/>
    <input type="checkbox" class="case" name="case" value="1"/>
    </td>
    <td><input name="combo segnalazioni" type="text" value="" size="40" maxlength="200" />
    </td>
    </tr>
    </table>';
    //controllo se il campo è vuoto/pieno
    if (!empty ($_POST['my_name'])) {
    process_form();
    }else {
    show_form();
    }
    //funzione process form, viene eseguita quando il form viene inviato
    function process_form() {
    //funzione per inviare le mail con nome mittente "mittente" e indirizo "mail destinatario"
    //il from è indispensabile altrimenti va in errore, bisogna cambiarlo con l'indirizzo reale del destinatario
    //di seguito formatto la mail per l'invio in formato html
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: mittente<mail destinatario>\n; ";

    mail($_POST['my_name'],"oggetto prova", $GLOBALS['tabella'], $headers);
    }
    //funzine show_form, visualizza il form
    function show_form() {
    print<<<HTML
    <form method="POST" action="$_SERVER[PHP_SELF]">
    Il tuo nome: <input type="text" name="my_name"> <br/> <br/>
    <input type="submit" value="Invia">
    </form>
    HTML;
    print $GLOBALS['tabella'];
    }
    ?>
    </body>


  • User

    Ciao a tutti,
    relativamente al codice che ho postato...forse devo usare una array come nome delle check-box...?

    Grazie,
    Federico


  • User

    Ciao a tutti,
    in relazione al codice che ho riportato, è possibile che devo usare un array come nome per le checkbox?

    Grazie!
    Federico 😉


  • User

    ...scusate, non volevo scrivere due volte...pensavo che la prima volta non mi era partito il messaggio!

    Federico