Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: help form invio mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128

    help form invio mail

    ciao a tutti
    mi scuso per la domanda banale ma non ne vengo a capo e non sono riuscito a trovare script già fatti che siano ok per il mio caso.
    vi spiego:
    devo creare un form per invio mail da un sito
    questo form ha i campi
    nome, cognome, mail, messaggio
    questo è l'html che ho creato

    <form method="post" action="mail.php">

    Nome <input type="text" id="nome">

    Cognome <input type="text" id="cognome">

    Email Mittente: <input type="text" id="email_mittente">

    Testo: <textarea id="messaggio"> </textarea>

    <input type="submit" value="Invia Email">

    </form>

    il codice ph che ho utilizzato è questo:

    <? 
$to = $_POST['xxx@gmail.com'];
    $subject =
    $email = $_POST['messaggio'];
    $mailheaders = "From: " . $_POST['nome'] . " " . $_POST['cognome '] . " <> ";
    $mailheaders .= "Reply-To:" . $_POST['email_mittente'] . " ";
    mail($to, $subject, $email, $mailheaders); 
?>

    ho fatto alcune prove inviando al mio indirizzo mail ma non ricevo nulla.
    dove sbaglio?
    mi farebbe comodo mettere anche dei controlli sulla mail e sui vari campi del form.
    la parte subject è vuota perche vorrei scriverci "mail dal sito" ma non ho idea di come fare.

    potete cortesemente aiutarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    hai un

    $subject =

    che finisce così....e già questo è un errore che non dovrebbe sfuggirti!!
    poi comincia gli script con <?php anzichè <?

    infine, quale errore ti restituiva la pagina?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128
    la parte subject è vuota perche vorrei che ci fosse sempre scritto "mail dal sito" ma non ho idea di come fare.
    non restituisce nessun errore, solo pagina bianca e le mail non arrivano

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ok ma non si lascia il codice interrotto solo perchè non si sa cosa mettere...

    $subject = ""; // almeno metti vuoto e termina sempre con punto e virgola

    in testa al tuo codice php metti questo:

    <?php
    ini_set('display_errors',1);
    error_reporting(E_ALL|E_STRICT);

    e poi vedi se viene riportato qualche errore quando esegui lo script.
    Inoltre nel php.ini hai impostato il mailserver?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128
    allora il phpini è configurato e funziona (aruba)

    ho messo il codice che mi hai detto e di errori ne restituisce un pò,
    li posto:

    Notice: Undefined index: berozbox@gmail.com in /web/htdocs/www.evergreenpics.com/home/mile/mailprova.php on line 13

    Notice: Undefined index: messaggio in /web/htdocs/www.evergreenpics.com/home/mile/mailprova.php on line 15

    Notice: Undefined index: nome in /web/htdocs/www.evergreenpics.com/home/mile/mailprova.php on line 16

    Notice: Undefined index: cognome in /web/htdocs/www.evergreenpics.com/home/mile/mailprova.php on line 16

    Notice: Undefined index: email_mittente in /web/htdocs/www.evergreenpics.com/home/mile/mailprova.php on line 17

    questo è il codice

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    ini_set('display_errors',1);
    error_reporting(E_ALL|E_STRICT);

    $to = $_POST['berozbox@gmail.com'];
    $subject = "";
    $email = $_POST['messaggio'];
    $mailheaders = "From: " . $_POST['nome'] . " " . $_POST['cognome '] . " <> ";
    $mailheaders .= "Reply-To:" . $_POST['email_mittente'] . " ";
    mail($to, $subject, $email, $mailheaders);
    ?>

    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    allora, $_POST serve a recuperare le variabili inviate tramite un form, e dubito tu abbia nel form un campo che si chiami "berozbox@gmail.com";
    per lo stesso motivo di sopra, il codice va in errore su tutte le variabili inviate dal form...alchè la domanda è: ma il form lo invii o hai preso un codice trovato in rete e lo hai semplicemente incollato nella tua pagina nella speranza funzionasse?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128
    il codice è staato ovviamente preso da internet e ho cercato di modificarlo per le mie esigenze
    ovviamente sbagliando.
    quel $to ero convinto fosse la mail al quale inviare i dati recuperati dal form

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128
    dovrebbe essere cosi giusto?

    $to = "berozbox@gmail.com";

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    va benissimo recuperare i dati dal form, solo devi sapere quali variabili stai inviando; nel tuo script ricevi le seguenti variabili:

    berozbox@gmail.com
    messaggio
    nome
    cognome
    email_mittente

    nel tuo form i campi hanno questi nomi?

    $to = "berozbox@gmail.com";
    è corretto a patto che il destinatario (to) sia sempre "berozbox@gmail.com"...

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    128
    questo è il form e i nomi sono corretti

    <form method="post" action="mailprova.php">

    Nome <input type="text" id="nome">

    Cognome <input type="text" id="cognome">

    Email Mittente: <input type="text" id="email_mittente">

    Testo: <textarea id="messaggio"> </textarea>

    <input type="submit" value="Invia Email">

    </form>

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.