+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Form Mail html /php

  1. #1
    artemis79 non è in linea Scolaretto
    Ho bisogno di compilare una form sul mio sito web cosi ho generato una pagina htm con i campi da compilare ecco il codice contenuto nel tag Body:

    <form method="post" action="inviamail.php" name="inviamail"> Nome: <input type="text" size="40" name="nome"> E-mail: <input type="text" size="40" name="email"> Oggetto: <input type="text" size="40" name="oggetto"> Messaggio: <textarea cols="50" rows="10" name="messaggio"></textarea> <input type="submit" value="Invia"><input type="reset" value="Cancella"> </form>
    poi ho creato un file php chiamato appunto inviamail.php
    <?php $indirizzo="miamail@miodominio.it"; { mail($indirizzo,"Messaggio da parte di $nome: $oggetto","$nome - $email ha inviato il seguente messaggio:","$messaggio"); echo ("Il messaggio è stato inviato con successo "); } ?> <p><a href="http://www.miosito.com">Torna al sito</a></p>
    La mail viene inviata e la ricevo ma NON correttamente ossia non compaiono i dati precedentemente compilati nelle caselle di testo ... sembra che $nome,$oggetto fossero variabili vuote ...
    cosa sbaglio ??
    Ultima modifica di bottomap; 09-03-2011 10:33  Motivo: tolti url

  2. #2
    L'avatar di bottomap
    bottomap non è in linea Amanuense
    Ciao,

    Mi sembra corretto. Lasciando da parte il setting register_globals (che meglio non abilitare - e che è disabilitato per default da PHP 5.x in poi - a meno che tu non sia veramente esperto di sicurezza), i parametri di una form ti arrivano normalmente in post (come nel tuo caso - il method="post") nell'array autoglobale denominato, appunto, $_POST.

    In $_POST['nome'] avrai quindi il nome, in $_POST['email'] l'email, e così via.

    Ti consiglio ad ogni modo di verificare attentamente gli input una volta recuperati da $_POST. Gli input non filtrati sono la prima fonte di insicurezza. Nel caso di una mail form è facile assistere ad attacchi di mail-header-injection (un sistema che permette ad uno spammer di usare il tuo server di mail per inviare tonnellate di spam in giro).

    Ciaociao
    ℹ️ Leggi di più su bottomap ...

  3. #3
    fabbroniko non è in linea Scolaretto
    Come ha detto bottomap ti sei dimenticato di prelevare i dati dal form antecedente, prova a cambiare così il codice:

    <?php
    $nome=$_POST['nome'];
    $oggetto=$_POST['oggetto'];
    $messaggio=$_POST['messaggio'];
    $indirizzo="miamail@miodominio.it";
    {
    mail($indirizzo,"Messaggio da parte di $nome: $oggetto","$nome - $email ha inviato il seguente messaggio:","$messaggio");

    echo ("Il messaggio è stato inviato con successo ");

    }
    ?>
    <p><a href="http://www.miosito.com">Torna al sito</a></p>
    Ciao

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Problema invio mail in html da form
    Da gabriele86 nel forum PHP
    Risposte: 1
    Ultimo Post: 16-02-2010, 10:29
  2. PHP mail send con form html
    Da motoboy nel forum PHP
    Risposte: 2
    Ultimo Post: 16-09-2009, 13:50
  3. [HTML]E-mail
    Da fabrizio23 nel forum HTML, CSS e JavaScript
    Risposte: 6
    Ultimo Post: 29-03-2009, 19:19
  4. [HTML]Spedire e-mail tramite form
    Da fabrizio23 nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 09-12-2008, 17:04
  5. [HTML]Creare form e inviarli tramite email in html
    Da vt1980 nel forum HTML, CSS e JavaScript
    Risposte: 4
    Ultimo Post: 22-09-2008, 12:40