Visualizzazione risultati 1 fino 11 di 11

Discussione: Campi obbligatori in form PHP

  1. #1
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Question Campi obbligatori in form PHP

    Ciao,
    ho creato un form con php che funziona benissimo, ma non so come rendere alcuni campi obbligatori.
    Questo è il form in HTML
    Codice:
    <div id="form">
     <form action="/invio.php" >
    <div class="form-group">
        <label for="exampleInputEmail1">E-mail PayPal</label>
        <input type="email" name="paypal" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
      </div>
      <div class="form-group">
        <label >Skype</label>
        <input type="text" name="skype" class="form-control" placeholder="Skype">
      </div>
      <div class="form-group">
        <label >Gioco Desiderato</label>
        <input type="text" name="game" class="form-control" placeholder="Es. Call Of Duty Ghosts">
      </div>
      <div class="form-group">
        <label >Son disposto a spendere fino a</label>
        <input type="text" name="money" class="form-control" placeholder="Es. 40,00&euro;">
      </div>
      
      <div class="checkbox">
        <label>
          <input type="checkbox"> Ho letto tutti i <a href="/terms.html">termini di Servizio</a>
        </label>
      </div>
      <button type="submit" class="btn btn-default">Invia Richiesta</button>
    </form></div>
    E questa è la pagina in PHP
    Codice:
    <?php
    $mail = "email@gmail.com";
    $oggetto = "GoldKey";
    $testo = "PayPal: ".$_GET['paypal']."
    Skype: ".$_GET['skype']."
    Gioco: ".$_GET['game']."
    Budget: ".$_GET['money'];
    
    mail($mail,$oggetto,$testo);
    echo "Risponderemo alla tua richiesta entro 24h";
    
    ?>
    E vorrei anche sapere come inserire nel form un modulo captcha.
    Vi avviso che di PHP non ne capisco molto infatti questo form l'ho fatto tramite una guida.
    Grazie in anticipo per l'aiuto

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Con HTML5 puoi utilizzare l'attributo "required" per indicare al browser quali campi siano obbligatori.

    Ma quello che si fa di solito è controllare dopo l'invio del modulo, con PHP, che tutti i campi richiesti siano stati inseriti e in caso contrario rimandare l'utente sul modulo.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Predefinito

    E come si fa con php?

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

    Predefinito

    Con PHP puoi controllare se il dato è stato passato (con isset() ), e se è stato passato ma è vuoto (con empty() ).

    Ciao!

  5. #5
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Predefinito

    Ciao,
    Scusa ma come ho detto all'inizio di php non ci capisco praticamente niente quindi mi potresti dire dove devo mettere quei tag?
    Grazie mille!

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

    Predefinito

    Non sono tag, ma funzioni php. Esempio:

    Codice PHP:
    if(isset($_GET['skype']))
    {
    if(empty(
    $_GET['skype']))
    die(
    'Il campo skype è vuoto!');
    }
    else die(
    'il campo skype non esiste!');
    Ciao!

  7. #7
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Predefinito

    Ma lo devo inserire tipo così?

    Codice:
    <?php
    foreach($_POST as $item){
    if($item == ''){ 
    echo "Errore, devi compilare tutti i campi!";
    exit;
    }
    }
    $mail = "email@gmail.com";
    $oggetto = "GoldKey";
    $testo = "PayPal: ".$_GET['paypal']."
    Skype: ".$_GET['skype']."
    Gioco: ".$_GET['game']."
    Budget: ".$_GET['money'];
    
    if(isset($_GET['skype']))
    {
         if(empty($_GET['skype']))
              die('Il campo skype è vuoto!');
    }
    else die('il campo skype non esiste!');  
    
    mail($mail,$oggetto,$testo);
    echo "Risponderemo alla tua richiesta entro 24h";
    
    
    
    
    ?>

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

    Predefinito

    O usi il modo che ti ho detto io, o usi questo:
    Codice PHP:
    foreach($_POST as $item){
    if(
    $item == ''){
    echo
    "Errore, devi compilare tutti i campi!";
    exit;
    }
    }
    Anche se io invece di
    Codice PHP:
    if($item == '')
    metterei
    Codice PHP:
    if(empty($item))
    ..ma alla fine non cambia molto.

    Ciao!

  9. #9
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Predefinito

    Ho messo così ma non funziona.
    Codice:
    <?php
    foreach($_POST as $item){
    if($item == ''){ 
    echo "Errore, devi compilare tutti i campi!";
    exit;
    }
    }
    $mail = "******@gmail.com";
    $oggetto = "GoldKey";
    $testo = "PayPal: ".$_GET['paypal']."
    Skype: ".$_GET['skype']."
    Gioco: ".$_GET['game']."
    Budget: ".$_GET['money'];
    
    
    mail($mail,$oggetto,$testo);
    echo "Risponderemo alla tua richiesta entro 24h";
    
    
    ?>
    (Scusa ma non capisco niente di php potresti spiegarti meglio)
    Ma in caso come si usa l'alternativa in HTML5 che mi ha consigliato saitfainder quella del "required", come si usa?
    Ultima modifica di darkwolf : 22-08-2019 alle ore 09.34.43 Motivo: Email censurata come da richiesta dell'interessato

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

    Predefinito

    ah beh, visto che utilizzi GET, sostituisci:
    Codice PHP:
    foreach($_POST as $item)
    con
    Codice PHP:
    foreach($_GET as $item)
    Ciao!

  11. #11
    idarioo non è connesso Neofita
    Data registrazione
    24-12-2013
    Messaggi
    7

    Predefinito

    Grazie mille funziona perfettamente

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
  •