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

Discussione: mittente da form

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513

    mittente da form

    Ciao a tutti! Premetto che ho cercato molto sia nel forum ch nel web, ma non sono riuscito ad arrivar a una soluzione funzionante!
    Ho realizzao un semplice form per permettere ai visitatori di un sito di inviare i propri commenti, consigli, ecc

    Il form è questo:

    codice:
    <form name="contact" action="result.php" method="post">
          <fieldset>
                    <legend>Dati personali (Facoltativo)</legend>
                    <label>Nome: <input type="text" name="nome" /></label>
                    <label>Città: <input type="text" name="citta" /></label>
    
    
                    <label>Faccio parte del Collettivo Biancorosso?
    <label>Si<input type="radio" name="iscritto" value="si" checked /></label> <label>No<input type="radio" name="iscritto" value="no" /></label> <label>No, ma vorrei entrarvi!<input type="radio" name="iscritto" value="forse" /></label></label>
          </fieldset>
          <fieldset>
                    <legend>Messaggio</legend>
                    <textarea name="messaggio" cols="50" rows="10"></textarea>
          </fieldset>
                     <input type="submit" value="invia" />
    </form>
    E la pagina result.php è questa:

    Codice PHP:
    <?php
    /* destinatari */
    $destinatari "Collettivo Biancorosso - Info e consigli <webmaster@liberiliberi.it>";
    /* oggetto */
    $oggetto "Consigli";
    $messaggio $_POST["nome"]."\n";
    $messaggio.= $_POST["citta"]."\n";
    $messaggio.= $_POST["iscritto"]."\n";
    $messaggio.= $_POST["messaggio"]."\n";
    /* ed infine l'invio */
    mail($destinatari$oggetto$messaggio);
    ?>
    Ora, vorrei che la mail mi arrivasse con l' indirizzo del mittente, e non quello del server! E' possibile farlo (senza aggiungere nel form un campo ove richiedere la mail chiaramente).
    Grazie mille a chi mi aiuterà!

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Scusa.. ma come fai a sapere l'indirizzo mail di qualcuno che visita il sito, se non te lo scrive lui? PHP ha tante belle funzioni, ma magie ancora non puo' farne

    Spero di aver capito male di brutto io...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513
    non lo so...forse ho detto una scemenza!
    Quindi, l' unico modo per sapere l' indirizzo mail di chi invia il form è aggiungere un campo ove l' utente lo inserisce?

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    si...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513
    capito!
    Ho seguito le istruzioni di questo topic:
    http://forum.html.it/forum/showthrea...+mail+mittente

    Qualcuno potrebbe dirmi come realizzare il controllo che si suggerisce di usare li...per verificare che ad esser inserito sia davvero un indirizzo e-mail?
    Grazie ancora!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513
    già che ci sono, se potete, pltre al controllo detto sopra, potreste dirmi anche come fare per far apparire, nel momento in cui l' utente invia la mail, un messaggio di invio avvenuto con successo se tutto è andato bene o, al contrario, un messaggio di errore se qualcosa è andato storto?

    al momento il mio codice è questo:

    Codice PHP:
    <?php
    /* destinatari */
    $destinatari "Collettivo Biancorosso - Info e consigli <webmaster@liberiliberi.it>";
    /* oggetto */
    $oggetto "Consigli";
    $messaggio $_POST["nome"]."\n";
    $messaggio.= $_POST["citta"]."\n";
    $messaggio.= $_POST["iscritto"]."\n";
    $messaggio.= $_POST["messaggio"]."\n";
    $mittente.= $_POST["mail"]."\n";

    /* ed infine l'invio */
    mail($destinatari$oggetto$messaggio"From: $mittente\r\n");
    ?>
    Grazie mille ancora!

  7. #7
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    <?
    /* destinatari */
    $destinatari "Collettivo Biancorosso - Info e consigli <webmaster@liberiliberi.it>";
    /* oggetto */
    $oggetto "Consigli";
    $messaggio $_POST["nome"]."\n";
    $messaggio.= $_POST["citta"]."\n";
    $messaggio.= $_POST["iscritto"]."\n";
    $messaggio.= $_POST["messaggio"]."\n";
    $mittente.= $_POST["mail"]."\n";

    /* ed infine l'invio */
    if(mail($destinatari$oggetto$messaggio"From: $mittente\r\n"))
        echo 
    "Messaggio inviato con successo!"
    else
        echo 
    "Si è verificato un errore durante l'invio!";
    ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513
    Grazie mille, già mi hai dato un grande aiuto!
    Ma sbaglio o manca ancora il controllo??

    Originariamente inviato da matteo01
    capito!
    Ho seguito le istruzioni di questo topic:
    http://forum.html.it/forum/showthrea...+mail+mittente

    Qualcuno potrebbe dirmi come realizzare il controllo che si suggerisce di usare li...per verificare che ad esser inserito sia davvero un indirizzo e-mail?
    Grazie ancora!
    Ho provato a copiare alcune parti di codice da qua nel forumma non ottengo niente, la mail viene inviata anche se l' indirizzo e-mail inserito non è del tipo nome@dominio.it

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442

    risposta

    questo script lo copi in un file.js e poi lo richiami per il controllo

    function Modulo() {
    // Variabili associate ai campi del modulo

    var email = document.modulo.email.value;


    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (!email_reg_exp.test(email) || (email == "") ) {

    alert("Inserire un indirizzo email corretto.");
    document.modulo.reset();
    document.modulo.focus();

    }
    else {

    document.modulo.submit();
    }
    }







    <html>
    <head>
    <script type=\"text/javascript\" src=\"jvs/email.js\"></script>
    <script type=\"text/javascript\" src=\"jvs/dataValidation.js\"></script>
    </head>


    <body>";

    echo"
    <td><form name=\"modulo\" method=\"POST\" action=\"checkmail.php\">
    <center><table>

    <tr>
    <td>Inserire in questo campo la propria e-mail:</td>
    <td><input name=\"email\" type=\"text\" onblur=Modulo(this)> </td>
    </tr>

    <tr>
    <td><input type=\"submit\" value=\"Spedizionme email in corso...\" ></td></tr>

    </table></center>
    </form></td>

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    513
    Allora, ho provato cosi:

    Questo è il form:
    codice:
    <form name="modulo" action="result.php" method="post">
          <fieldset>
                    <legend>Dati personali (Facoltativo)</legend>
                    <label>Nome: <input type="text" name="nome" /></label>
                    <label>Città: <input type="text" name="citta" /></label>
    
                    <label>E-mail: <input type="text" name="email" onblur=Modulo(this) /></label>
    
    
                    <label>Faccio parte del Collettivo?
    <label>Si<input type="radio" name="iscritto" value="si" checked /></label> <label>No<input type="radio" name="iscritto" value="no" /></label> <label>No, ma vorrei entrarvi!<input type="radio" name="iscritto" value="forse" /></label></label>
          </fieldset>
          <fieldset>
                    <legend>Messaggio</legend>
                    <textarea name="messaggio" cols="50" rows="10"></textarea>
          </fieldset>
                     <input type="submit" value="invia" />
    </form>
    Questa la pagina result.php

    Codice PHP:
    <?php
    /* destinatari */
    $destinatari "Collettivo Biancorosso - Info e consigli <webmaster@liberiliberi.it>";
    /* oggetto */
    $oggetto "Consigli";
    $messaggio $_POST["nome"]."\n";
    $messaggio.= $_POST["citta"]."\n";
    $messaggio.= $_POST["iscritto"]."\n";
    $messaggio.= $_POST["messaggio"]."\n";
    $mittente.= $_POST["email"]."\n";

    /* ed infine l'invio */
    if(mail($destinatari$oggetto$messaggio"From: $mittente\r\n"))
        echo 
    "Messaggio inviato con successo!";
    else
        echo 
    "Si è verificato un errore durante l'invio!";
    ?>
    questo è il javascript che ho collegato alla pagina col form:

    codice:
    function Modulo() {
    // Variabili associate ai campi del modulo
    
    var email = document.modulo.email.value;
    
    
    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (!email_reg_exp.test(email) || (email == "") ) {
    
    alert("Inserire un indirizzo email corretto.");
    document.modulo.reset();
    document.modulo.focus();
    
    }
    else {
    
    document.modulo.submit();
    }
    }
    I problemi sono due:

    - se nel caso venga inserita una mail errata lo script cancella anche tutti gli altri campi del form,

    - Se la forma dell' indirizzo e-mail è corretta lo script invia il form in automatico appena l' utente esce dal campo email, non dando cosi tempo di finir di completare il 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.