Visualizzazione risultati 1 fino 18 di 18

Discussione: Problema form prenotazione

  1. #1
    Guest

    Predefinito Problema form prenotazione

    Salve a tutti, sto cercando di fare un form che mi permetta di inserire i seguenti campi:

    Nome
    Cognome
    Emailmittente
    Telefono
    Stanze
    Persone
    Numero notti
    Ulteriori informazioni. Fin qui ci siamo, ho usato il seguente codice:

    Codice HTML:
    <form id="contact" method="post" action="send.php">
      <div>
        <label for="nome">Nome: </label>
        <div class="input-cont"><input type="text" id="nome" name="nome"></div>
     <label for="cognome">Cognome: </label>
        <div class="input-cont"><input type="text" id="cognome" name="cognome"></div>
        <label for="email">Email: </label>
    
        <div class="input-cont"><input type="text" id="email" name="email"></div>
     <label for="telefono">Recapito telefonico: </label>
        <div class="input-cont"><input type="text" id="telefono" name="telefono"></div>
     <label for="stanze">Stanze: </label>
        <div class="input-cont"><input type="text" id="stanze" name="stanze"></div>
     <label for="persone">Numero persone: </label>
        <div class="input-cont"><input type="text" id="persone" name="persone"></div>
    
     <label for="notti">Numero notti: </label>
        <div class="input-cont"><input type="text" id="notti" name="notti"></div>
        <label for="message">Ulteriori informazioni o domande: </label>
        <div class="textarea-cont"><textarea id="message" name="message" rows=9 cols=20></textarea></div>
        <button type="submit" id="go" value="invia">invia</button>
      </div>
    </form>
    Per la parte php ho usato invece questo codice, solo che facendo le prove non mi arriva l'email al mio account di posta. Come mai?

    Codice PHP:
    <?php

    if(!$risultato = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)){
    echo
    " Questa $email non e' una email valida";
    echo
    "<br><a href=\"http://kutolenko7.altervista.org/sito/Stanzedelcanonico/prenotazione.php\">Torna al modulo per la prenotazione.</a>";
    }else{
    $messaggio="";
    $messaggio .="<b>Prenotazione da parte di $nome $cognome.</b>";
    $destinatario= "mcut@libero.it";
    $oggetto="Modulo di prenotazione.";
    $intestazioni="From: $nome<>\n";
    $intestazioni.="Reply-To: $email";
    mail($destinatario,$oggetto,$nome,$cognome,$email,$telefono,$stanze,$persone,$notti,$messaggio,$intestazioni);
    echo
    "Prenotazione effettuata con successo.";
    echo
    " Questa $destinatario";
    echo
    "<br><a href=\"http://kutolenko7.altervista.org/sito/Stanzedelcanonico/index.php\">Torna alla Home</a>";
    }
    ?>
    Vorrei che mi arrivasse l'email organizzata così:

    Nome: Marco
    Cognome: Van Basten
    Email: olanda@libero.it
    Telefono: 329485934
    Numero di stanze da prenotare: 2
    Numero di persone: 4
    Numero di notti: 5

    Ulteriori informazioni: .......

    [DS] La prossima volta che non usi i tag di codice, parte l'infrazione... è la terza volta in due giorni che te li correggo!
    Ultima modifica di dementialsite : 20-02-2008 alle ore 23.05.35

  2. #2
    Guest

    Predefinito

    Codice PHP:
    <?php
    /*recuperi i tutti i valori del form che ti servono*/
    $nome = "$_POST[nome]";
    $cognome = "$_POST[cognome]";
    /*...e così via...*/

    /*scrivi un oggetto*/
    $oggetto = "prenotazione bla bla"


    /*scrivi per bene il messaggio*/
    $messaggio = "
    Nome:"
    .$nome."<br>
    Cognome:"
    .$cognome.
    /*...e così via...*/


    /* aggiungi (oltre a quelle che già hai)qualche intestazione per inviare email in formato HTML */
    $intestazioni. = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

    /* e soprattutto cambi la funzione mail in */
    mail("mcut@libero.it", $oggetto, $messaggio, $intestazioni);
    ?>
    Ultima modifica di gabriballets : 20-02-2008 alle ore 23.23.53

  3. #3
    Guest

    Predefinito

    Perfetto, adesso funziona, solo che non capisco una cosa. Se tolgo send.php dal campo action, non mi funziona più.

    Codice HTML:
    <form id="contact" method="post" action="send.php">
    Io però lo richiamo nella funzione Modulo() che è questa:

    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"> <head>
     <link rel="stylesheet" type="text/css" href="css/index.css" media="screen" />
     <title>Le Stanze del Canonico</title>
    
    
    <script language="javascript" type="text/javascript">
    
      function Modulo() {
    if ((document.modulo.nome.value == "")) {
       alert("Il campo Nome è obbligatorio");
       document.modulo.nome.focus();
       return false;
    }
    else if ((document.modulo.email.value == "")) {
      alert("Il campo Email è obbligatorio");
      document.modulo.email.focus();
      return false;
    }
    else if ((document.modulo.messaggio.value == "")) {
       alert("Il campo Messaggio è obbligatorio");
       document.modulo.messaggio.focus();
       return false;
    }
    else {
       document.modulo.action = "send.php";
       document.modulo.submit();
    }
      }
    </script>
    </head>
    Come mai però quando schiaccio sul bottone invia non succede niente?

    Non posso metterlo nel form perché altrimenti la funzione Modulo() non avrebbe senso visto che anche se l'utente non mette il nome, esce l'alert, ma in seguito il modulo viene inviato. Grazie!

    La pagina è la seguente: Prenotazione
    Ultima modifica di funcool : 21-02-2008 alle ore 10.39.36

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Devi modificare il tag form in questo modo:
    Codice HTML:
    <form id="contact" method="post" action="send.php" onsubmit="Modulo(); return false;">
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Devi modificare il tag form in questo modo:
    Codice HTML:
    <form id="contact" method="post" action="send.php" onsubmit="Modulo(); return false;">
    Ma io avevo messo questo:

    <button type="submit" id="go" onClick="Modulo()" value="invia">invia</button>
    Dici che non è la stessa cosa? Comunque ho provato a fare come dici tu ma non funziona.

    Per di più non mi funzionano più nemmeno gli alert, e non ho toccato niente, mah.
    Ultima modifica di kutolenko7 : 21-02-2008 alle ore 13.25.02

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Con il metodo che ti ho scritto io in qualunque modo viene spedito il form viene attivata la funzione.
    Potresti scrivere il codice completo della pagina (tra tag html e non quote)?

    Nel metodo che ti ho scritto io devi togliere l'onclick dal button.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    Ecco la pagina completa (scusa ma non so come si mette nel'html):

    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"> <head>
     <link rel="stylesheet" type="text/css" href="css/index.css" media="screen" />
     <title>Le Stanze del Canonico</title>
    
    
    <script language="javascript" type="text/javascript">
    
      function Modulo() {
    if ((document.modulo.nome.value == "")) {
       alert("Il campo Nome è obbligatorio");
       document.modulo.nome.focus();
       return false;
    }
    else if ((document.modulo.email.value == "")) {
      alert("Il campo Email è obbligatorio");
      document.modulo.email.focus();
      return false;
    }
    else if ((document.modulo.messaggio.value == "")) {
       alert("Il campo Messaggio è obbligatorio");
       document.modulo.messaggio.focus();
       return false;
    }
    else {
       document.modulo.action = "send.php";
      alert("yaooohhhh");
       document.modulo.submit();
    }
      }
    </script>
    </head> <body>
    
    <div id="contenitore">
     
     <div id="intestazione">
      <h1>Le Stanze del Canonico</h1>
      <address>
        Via del Campo 10<br />
        Bevagna (PG)<br />
        +39 051 4841203
      </address>
     </div>
    
    
     <div id="contenuto">
    
      <?php include("./menu.txt") ?>
    
      <div id="testo">
       <h3>Prenotazioni: compila tutti i campi correttamente.</h2>
       </div>
    
    
    <form id="contact" method="post" action="send.php" onsubmit="Modulo(); return false;">
      <div>
        <label for="nome">Nome: </label>
        <div class="input-cont"><input type="text" id="nome" name="nome"></div>
     <label for="cognome">Cognome: </label>
        <div class="input-cont"><input type="text" id="cognome" name="cognome"></div>
        <label for="email">Email: </label>
        <div class="input-cont"><input type="text" id="email" name="email"></div>
     <label for="telefono">Telefono: </label>
        <div class="input-cont"><input type="text" id="telefono" name="telefono"></div>
     <label for="stanze">Stanze: </label>
        <div class="input-cont"><input type="text" id="stanze" name="stanze"></div>
     <label for="persone">Persone: </label>
        <div class="input-cont"><input type="text" id="persone" name="persone"></div>
     <label for="notti">Numero notti: </label>
        <div class="input-cont"><input type="text" id="notti" name="notti"></div>
        <label for="message">Ulteriori informazioni o domande: </label>
        <div class="textarea-cont"><textarea id="message" name="message" rows=9 cols=20></textarea></div>
        <button type="submit" id="go" value="invia">invia</button>
    
      </div>
    </form>
    
     </div>
    </div>
    
    <div id="piepagina">
     <p>Prodotto da Kutolenko - &copy; 2008 LeStanzedelCanonico.it</p>
    </div>
    
    </body> </html>
    Ultima modifica di funcool : 21-02-2008 alle ore 13.36.28

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    In questo modo cosa succede? Viene spedito il form fregandosene della funzione e non viene spedito il form?

    P.S.: Per scrivere il codice HTML nel forum scrivi:
    [html]codice HTML[/html]
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    In pratica anche se lascio tutti i campi vuoti mi spedisce il form, accede quindi alla pagina send.php

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice HTML:
    <form id="contact" name="modulo" method="post" action="send.php" onsubmit="Modulo(); return false;">
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Codice HTML:
    <form id="contact" name="modulo" method="post" action="send.php" onsubmit="Modulo(); return false;">

    Ma gia ci sta nel codice.

    Ok, manca il name.

    Adesso va, grazie mille!


    EDIT: Ragazzi ho un altro piccolo problema, quando mi arriva l'email mi arriva con il tag br, come mai?

    Codice HTML:
    Nome: marco<br>
    Cognome: cutolo<br>
    Email: mcut@libero.it<br>
    Recapito telefonico: 0516492019<br>
    Numero di stanze: 2<br>
    Numero di persone: 1<br>
    Numero di notti: 3<br>
    Dal giorno: 23/02 al giorno: 25/02<br>
    Ulteriori informazioni: Pronto
    Questo è il codice php del messaggio:

    Codice HTML:
    $messaggio = "
    Nome: ".$nome."<br>
    Cognome: ".$cognome."<br>
    Email: ".$email."<br>
    Recapito telefonico: ".$telefono."<br>
    Numero di stanze: ".$stanze."<br>
    Numero di persone: ".$persone."<br>
    Numero di notti: ".$notti."<br>
    Dal giorno: ".$dal." al giorno: ".$al."<br>
    Ulteriori informazioni: ".$message;

    Grazie!
    Ultima modifica di funcool : 22-02-2008 alle ore 13.16.22

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ti arriva così perché negli header non avrai specificato che si tratta di HTML. Se devi aggiungere solo degli "a capo" normali e nient'altro codice HTML sostituisci "<br>" con un "a capo".
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    Guest

    Predefinito

    Altrimenti come si fa a specificare che si tratta di HTML?

    Questo è tutto il codice:

    Codice PHP:
    <?php

    $nome
    = "$_POST[nome]";
    $cognome = "$_POST[cognome]";
    $email = "$_POST[email]";
    $telefono = "$_POST[telefono]";
    $stanze = "$_POST[stanze]";
    $persone = "$_POST[persone]";
    $notti = "$_POST[notti]";
    $message = "$_POST[message]";
    $dal = "$_POST[dal]";
    $al = "$_POST[al]";
    /*...e così via...*/

    /*scrivi un oggetto*/
    $oggetto = "Modulo prenotazione";


    /*scrivi per bene il messaggio*/
    $messaggio = "
    Nome: "
    .$nome."<br>
    Cognome: "
    .$cognome."<br>
    Email: "
    .$email."<br>
    Recapito telefonico: "
    .$telefono."<br>
    Numero di stanze: "
    .$stanze."<br>
    Numero di persone: "
    .$persone."<br>
    Numero di notti: "
    .$notti."<br>
    Dal giorno: "
    .$dal." al giorno: ".$al."<br>
    Ulteriori informazioni: "
    .$message;
    /*...e così via...*/


    /* aggiungi (oltre a quelle che già hai)qualche intestazione per inviare email in formato HTML
    $intestazioni.= "MIME-Version: 1.0\r\n";
    $intestazioni.= "Content-type: text/html; charset=iso-8859-1\r\n"; */

    /* e soprattutto cambi la funzione mail in */
    mail("mcut@libero.it", $oggetto, $messaggio, $intestazioni);

    echo
    "<b>Prenotazione effettutata con successo!</b><br><br>";
    echo
    $messaggio;
    echo
    "<br><br>";
    echo
    "Per errori o incomprensioni rivolgersi a ";

    ?>
    Ultima modifica di funcool : 22-02-2008 alle ore 13.33.57

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Leggi qui.

    P.S.: Se si tratta di codice PHP, devi utilizzare i tag [php] e non [html].
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    Ah vero, avevo commentato per sbaglio questo pezzo di codice:

    Codice PHP:
    $intestazioni.= "MIME-Version: 1.0\r\n";
    $intestazioni.= "Content-type: text/html; charset=iso-8859-1\r\n"; */
    Se volessi aggiungere l'ora e la data di quando l'utente ha sottoscritto il form cosa dovrei fare?
    Ultima modifica di kutolenko7 : 22-02-2008 alle ore 13.57.34

  16. #16
    Guest

    Predefinito

    inserisci una cosa così in cima al messaggio!
    Codice PHP:
    date("d-m-Y H:i:s")
    per altri formati guarda qui!
    ciao!

    EDIT:
    fai così:
    Codice PHP:
    $messaggio ="Inviato il ".date('d-m-Y')." alle ".date('H:i:s')."<br>
    Nome: "
    .$nome."<br>
    Cognome: "
    .$cognome."<br>
    Email: "
    .$email."<br>
    Recapito telefonico: "
    .$telefono."<br>
    Numero di stanze: "
    .$stanze."<br>
    Numero di persone: "
    .$persone."<br>
    Numero di notti: "
    .$notti."<br>
    Dal giorno: "
    .$dal." al giorno: ".$al."<br>
    Ulteriori informazioni: "
    .$message;
    Ultima modifica di gabriballets : 22-02-2008 alle ore 14.28.42

  17. #17
    Guest

    Predefinito

    Grazie mille, funziona, ma come mai devo aspettare un bel pò prima che mi arrivino le email? Ci mette davvero tanto!

    Assurdo che da quando ho scritto il messaggio non mi sia ancora arrivato niente....
    Ultima modifica di kutolenko7 : 22-02-2008 alle ore 17.42.07

  18. #18
    baiadiogliastro non è connesso Neofita
    Data registrazione
    01-05-2012
    Messaggi
    3

    Predefinito prenotazioni

    Ciao,
    a me serve la stessa cosa che hai fatto tu, ti devo fare delle domande cose:
    1) Posso copiare quel codice in html?
    2) Funziona bene?
    3) Dove devo inserire l'indirizzo email al quale voglio far arrivare l'email?
    Ciao e grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •