Visualizzazione risultati 1 fino 6 di 6

Discussione: Campi obbligatori

  1. #1
    Guest

    Arrow Campi obbligatori

    Buona sera a tutti, io ho creato questi due file, ma non riesco a creare un ciclo php che:
    -non mi faccia scrivere l'email in modo sbagliato.
    -inserire i campi obbligatori.

    Da quello che ho visto in giro non c'è gran che quindi mi chiedevo se potevate aiutarmi.

    Ecco i file.
    Codice PHP:
    <?php
    /* definisci le variabili */
    $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]";

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


    /*scrivi per bene il messaggio*/
    $messaggio = "Inviato il ".date('d-m-Y')." alle ".date('H:i:s')."
    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;

    /* definisci intestazione */
    $intestazioni.= "MIME-Version: 1.0\r\n";
    $intestazioni.= "Content-type: text/html; charset=iso-8859-1\r\n";

    /* e sopratutto cambi la funzione mail in */
    mail("xxx@xxx.xxx", $oggetto, $messaggio, $intestazioni);

    echo
    "<b>Prenotazione effettutata con successo!</b><br><br>";
    echo
    $messaggio;
    echo
    "<br><br>";
    echo
    "Per info e contatti rivolgersi a Gianluca.";
    ?>
    e qui c'è quello html
    Codice HTML:
    <form id="contact" name="modulo" method="post" action="send.php"">
      <div>
        <div class="input-cont">  <p>  <label for="nome">Nome*: <br>
        </label>
            <input type="text" id="nome" name="nome"></p></div>
    
        <div class="input-cont">
        <p>
          <label for="cognome">Cognome: <br>
        </label>
    <input type="text" id="cognome" name="cognome"></p></div>
        
        <div class="input-cont"><p>
          <label for="email">Email*: <br>
        </label><input type="text" id="email" name="email"></p></div>
     
        <div class="input-cont"><p>
          <label for="telefono">Telefono*:<br>
        </label><input type="text" id="telefono" name="telefono"></p></div>
    
        <div class="input-cont"> <p>
          <label for="stanze">Stanze: <br>
        </label><input type="text" id="stanze" name="stanze"></p></div>
     
        <div class="input-cont"><p>
          <label for="persone">Persone*:<br>
        </label><input type="text" id="persone" name="persone"></div>
        
     
        <div class="input-cont"><p>
          <label for="notti">Numero notti*:<br>
        </label><input type="text" id="notti" name="notti"></p></div>
        
        
        <div class="textarea-cont">
          <p>
            <label for="message">Ulteriori informazioni o domande*:<br>
            </label>
            <textarea id="message" name="message" rows=15 cols=50></textarea>
          </p>
          <p style="font-size:10px; float:right;">* = Campo obbligatorio</p>
        </div>
        <div align="center">
          <button id="pulsante" value="invia">invia </button></div>
    
      </div>
    </form>
    Aspetto una risposta.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,266

    Predefinito

    1: https://www.google.it/search?q=validate+email+php

    2: devi controllare le varie variabili con la empty().

    Ciao!

  3. #3
    Guest

    Arrow

    Allora sappi che io non me ne intendo molto di php ma penso sia così,
    Codice PHP:
    /* definisci le variabili */
    $nome = "$_POST[nome]";
    $cognome = "$_POST[cognome]";
    $email = "$_POST[email]";
    if (!
    eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $email)) {
    echo
    "Indirizzo email NON valido";
    } else {
    echo
    "Indirizzo email valido";
    }
    $telefono = "$_POST[telefono]";
    $stanze = "$_POST[stanze]";
    $persone = "$_POST[persone]";
    $notti = "$_POST[notti]";
    $message = "$_POST[message]";
    $dal = "$_POST[dal]";
    $al = "$_POST[al]";

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


    /*scrivi per bene il messaggio*/
    $messaggio = "Inviato il ".date('d-m-Y')." alle ".date('H:i:s')."
    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;

    /* definisci intestazione */
    $intestazioni.= "MIME-Version: 1.0\r\n";
    $intestazioni.= "Content-type: text/html; charset=iso-8859-1\r\n";

    /* e sopratutto cambi la funzione mail in */
    mail("xxx@xxx.xxx", $oggetto, $messaggio, $intestazioni);

    echo
    "<b>Prenotazione effettutata con successo!</b><br><br>";
    echo
    $messaggio;
    echo
    "<br><br>";
    echo
    "Per info e contatti rivolgersi a Gianluca.";
    ?>

  4. #4
    Guest

    Predefinito

    Dunque: andiamo con ordine.
    Se vuoi controllare se alcuni campi sono riempiti, mettiamo ad esempio nome, cognome e email, direi che un qualcosa del tipo "se la variabile nome o cognome o email è vuota, stampa errore, altrimenti prosegui il codice" può andar bene.
    Se poi vuoi controllare se la mail rispetta una sintassi da indirizzo di posta, e usi le espressioni regolari, potrebbe andare qualcosa del tipo "scrivo l'espressione regolare per un indirizzo mail idealmente valido; e se la variabile mail non rispetta l'espressione regolare, stampa errore, altrimenti prosegui il codice".
    Tutto ciò si traduce in:

    Codice PHP:
    $regexmail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/' ;
    if (
    $_POST['nome'] == null || $_POST['cognome'] == null || $_POST['email'] == null) {
    echo
    "Devi riempire tutti i campi per mandare la mail!";
    }
    elseif (!
    preg_match($regexmail, $_POST['mailmittente'])) {
    echo
    "Il tuo indirizzo mail non e' scritto correttamente! Controlla!";
    } else {
    ...
    resto del codice...
    }

  5. #5
    Guest

    Predefinito

    Per quanto riguarda l'email io penso sia meglio verificarla in questo modo:
    Codice PHP:
    else if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo
    "Il tuo indirizzo mail non e' scritto correttamente! Controlla!";
    }

  6. #6
    Guest

    Thumbs up

    Grazie coreyx per i campi obbligatori!
    Citazione Originalmente inviato da coreyx Visualizza messaggio
    Dunque: andiamo con ordine.
    Se vuoi controllare se alcuni campi sono riempiti, mettiamo ad esempio nome, cognome e email, direi che un qualcosa del tipo "se la variabile nome o cognome o email è vuota, stampa errore, altrimenti prosegui il codice" può andar bene.
    Se poi vuoi controllare se la mail rispetta una sintassi da indirizzo di posta, e usi le espressioni regolari, potrebbe andare qualcosa del tipo "scrivo l'espressione regolare per un indirizzo mail idealmente valido; e se la variabile mail non rispetta l'espressione regolare, stampa errore, altrimenti prosegui il codice".
    Tutto ciò si traduce in:

    Codice PHP:
    $regexmail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/' ;
    if (
    $_POST['nome'] == null || $_POST['cognome'] == null || $_POST['email'] == null) {
    echo
    "Devi riempire tutti i campi per mandare la mail!";
    }
    elseif (!
    preg_match($regexmail, $_POST['mailmittente'])) {
    echo
    "Il tuo indirizzo mail non e' scritto correttamente! Controlla!";
    } else {
    ...
    resto del codice...
    }
    Grazie a Mathis per la validazione dell'email! :D
    Citazione Originalmente inviato da mathis Visualizza messaggio
    Per quanto riguarda l'email io penso sia meglio verificarla in questo modo:
    Codice PHP:
    else if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo
    "Il tuo indirizzo mail non e' scritto correttamente! Controlla!";
    }
    Topic che si può chiudere.

Tags for this Thread

Regole di scrittura

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