Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema form di richiesta - campi obbligatori

    Ciao a tutti.

    Sono nuovo qui, e sono anche abbastanza incapace. Ho creato un form per la richiesta di iscrizione ad un esame, ma al momento della compilazione mi riporta sempre la scritta "tutti i campi sono obbligatori", anche se tutti compilati.

    Sicuramente ho sbagliato qualcosa nella stesura, ma essendo incapace non riesco a trovare l'erroe (sempre se il programma non sia tutto sbagliato).

    Questo è il codice completo:

    // creiamo il nostro modulo di registrazione

    ?>

    <form action='?inviodati=ok' method='POST'><center>



    <p style="text-align: center;"><span style="text-decoration: underline;"><span style="font-size: x-large;">RICHIESTA DI PARTECIPAZIONE</span></span></p>



    <tr>
    <td>Modulo:</td>

    <td>
    <select name="modulo">
    <option value="ufficiale di gara">Ufficiale di gara</option>
    <option value="Insegnante Tecnico">Insegnante Tecnico</option>
    <option value="Atleta">Atleta</option>
    <option value="Verifica (solo se proveniente da altra struttura)">Verifica (solo se proveniente da altra struttura)</option>
    </select>
    </td>
    </tr>



    Nome:

    <input type='text' name='nome'>



    Cognome:

    <input type='text' name='cognome'>



    Nato/a a:

    <input type='text' name='nato'>



    <tr><td>Data di nascita:</td>

    <td>
    <select name="giorno">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    Indirizzo domicilio:

    <input type='text' name='indirizzo'>



    Citta:

    <input type='text' name='citta'>



    Provincia:

    <input type='text' name='provincia'>



    Codice postale:

    <input type='text' name='cap'>




    Professione:

    <input type='text' name='professione'>




    Telefono:

    <input type="tel" name="telefono">




    Cellulare:

    <input type="tel" name="cellulare">




    Titolo di studio:

    <input type='text' name='titolo'>



    E-Mail:

    <input type='text' name='mail'>



    Licenza Federale N:

    <input type='text' name='licenza'>




    Societa Sportiva:

    <input type='text' name='societa'>




    Codice:

    <input type='text' name='codice'>




    Qualifica di:

    <input type='text' name='qualifica'>



    Conseguita a:

    <input type='text' name='conseguita'>



    <tr><td>Il:</td>

    <td>
    <select name="giorno1">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese1">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno1">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    <tr><td>Con decorrenza:</td>

    <td>
    <select name="giorno2">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese2">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno2">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    Grado di:

    <input type='text' name='grado'>



    Conseguito a:

    <input type='text' name='conseguito'>



    <tr><td>Il:</td>

    <td>
    <select name="giorno3">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese3">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno3">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    <tr><td>Con decorrenza:</td>

    <td>
    <select name="giorno4">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese4">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno4">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    <tr>
    <td>Stile Praticato:</td>

    <td>
    <select name="stile">
    <option value="Gojo-Ryu">Gojo-Ryu</option>
    <option value="Shito-Ryu">Shito-Ryu</option>
    <option value="Stotokan-Ryu">Stotokan-Ryu</option>
    <option value="Wado-Ryu">Wado-Ryu</option>
    </select>
    </td>
    </tr>



    <p style="text-align: center;"><span style="font-size: x-large;">CHIEDE DI ESSERE AMMESSO/A AL</span></p>
    <p style="text-align: center;"><span style="font-family: 'Lucida Grande'; font-size: 20px; line-height: 30.516666412353516px; text-align: left;">Corso Regionale Propedeutico di ammissione ed all&rsquo;Esame Regionale o Nazionale di Graduazione a:</span></p>

    <tr>
    <td>Corso:</td>

    <td>
    <select name="corso">
    <option value="Cint. Marrone(2)">Cint. Marrone (2)</option>
    <option value="1° Dan">1° Dan</option>
    <option value="2° Dan">2° Dan</option>
    <option value="3° Dan">3° Dan</option>
    <option value="4° Dan(3)">4° Dan (3)</option>
    <option value="5° Dan(3)">5° Dan (3)</option>
    <option value="Veriica (1)">Verifica (1)</option>
    </select>
    </td>
    </tr>



    Struttura di provenienza(solo in caso di verifica):

    <input type='text' name='provenienza'>



    In programma nella regione Piemonte a:

    <input type='text' name='inpiemontea'>



    <tr><td>Il:</td>

    <td>
    <select name="giorno5">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="mese5">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    <select name="anno5">
    <?php
    for($i=1920;$i<2012;$i++){
    echo "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }
    ?>
    </select>
    </td></tr>
    <tr>



    <p style="text-align: justify;"><span style="font-size: large;"><span style="text-decoration: underline;">Il/La sottoscritto/a dichiara che &egrave; in possesso dei requisiti previsti nelle norme federali, che quanto sopra affermato corrisponde a verit&agrave; e che &egrave; a conoscenza che ogni dichiarazione FALSA comporta automaticamente l&rsquo;annullamento della partecipazione al Corso ed all&rsquo; Esame ed il deferimento al Giudice Sportivo.</span>Si allega alla presente l&rsquo;attestazione ORIGINALE del</span></p>

    Versamento di euro:

    <input type='text' name='versamento'>




    <p style="text-align: justify;"><span style="font-size: large;">sul c/c postale n&deg; 63839005 intestato a "Coni Fijlkam Settore Karate Roma" e l&rsquo;attestazione ORIGINALE del versamento di &euro; 25,00 sul c/c postale n&deg; 64908890 intestato a "Fijlkam Comitato Regionale Piemonte Settore Karate".</span></p>

    <p style="text-align: justify;"><span style="font-size: small;"><span style="font-size: medium;"><span style="color: #ff0000;">(1)</span> Per gli Esami di <span style="color: #ff0000;">Verifica</span> per Cintura Marrone e fino a 3&deg; Dan<span style="color: #ff0000;">allegare la documentazione comprovante il grado richiesto</span>.</span></span></p>
    <p style="text-align: justify;"><span style="font-size: small;"><span style="font-size: medium;"><span style="color: #ff0000;">(2)</span> Non partecipa al Corso Propedeutico ma solo all&rsquo;Esame di Verifica; allegare alla richiesta l&rsquo;attestazione ORIGINALE del versamento di &euro; 12,00 sul c/c postale n&deg;64908890 intestato a "Fijlkam Comitato Regionale Piemonte Settore Karate".</span></span></p>
    <p style="text-align: justify;"><span style="font-size: small;"><span style="font-size: medium;"><span style="color: #ff0000;">(3)</span> Il Corso &egrave; facoltativo. La quota da versare sul c.c.p. del Comitato &egrave; di &euro; 25,00</span></span></p>




    <input type='submit' value='Completa Richiesta'>



    </center>
    </form>

    <?php

    // attraverso un if controlliamo che il form sia stato inviato

    if ( $_GET['inviodati'] == "ok" ) {

    // recuperiamo i dati inviati con il form

    $modulo = $_POST['modulo'];

    $nome = $_POST['nome'];

    $cognome = $_POST['cognome'];

    $nato = $_POST['nato'];

    $data = $_POST['giorno,mese,anno'];

    $domicilio = $_POST['indirizzo'];

    $citta = $_POST['citta'];

    $provincia = $_POST['provincia'];

    $cap = $_POST['cap'];

    $professione = $_POST['professione'];

    $telefono = $_POST['telefono'];

    $cellulare = $_POST['cellulare'];

    $studio = $_POST['titolo'];

    $mail = $_POST['mail'];

    $licenza = $_POST['licenza'];

    $società = $_POST['societa'];

    $codice = $_POST['codice'];

    $qualifica = $_POST['qualifica'];

    $conseguita = $_POST['conseguita'];

    $il = $_POST['giorno1,mese1,anno1'];

    $decorrenza = $_POST['giorno2,mese2,anno2'];

    $grado = $_POST['grado'];

    $conseguito = $_POST['conseguito'];

    $il1 = $_POST['giorno3,mese3,anno3'];

    $decorrenza1 = $_POST['giorno4,mese4,anno4'];

    $stile = $_POST['stile'];

    $corso = $_POST['corso'];

    $provenienza = $_POST['provenienza'];

    $programmaa = $_POST['inpiemontea'];

    $il2 = $_POST['giorno5,mese5,anno5'];

    $versamento = $_POST['versamento'];

    // ora controlliamo che i campi siano stati tutti compilati

    if ( $modulo == TRUE && $nome == TRUE && $cognome == TRUE && $nato == TRUE && $data == TRUE && $domicilio == TRUE && $citta == TRUE && $provincia == TRUE
    && $cap == TRUE && $professione == TRUE && $telefono == TRUE && $cellulare == TRUE && $studio == TRUE && $mail == TRUE && $licenza == TRUE && $societa == TRUE
    && $codice == TRUE && $qualifica == TRUE && $conseguita == TRUE && $il == TRUE && $decorrenza == TRUE && $grado == TRUE && $conseguito == TRUE && $il1 == TRUE
    && $decorrenza1 == TRUE && $stile == TRUE && $corso == TRUE && $programma == TRUE && $il2 == TRUE && $versamento == TRUE ) {


    // controlliamo se il campo mail è stato scritto in maniera errata


    $email = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail);

    if ( $email == TRUE ) {

    // controlliamo se l'mail è presente già nel database

    $sql = mysql_query("SELECT * FROM tabella_registrati WHERE mail = '$mail'") or die ("Mail già occupata");

    $num_rows = mysql_num_rows($sql);

    if ( $num_rows == 0 ) {


    // controlliamo se il numero di cellulare è presente già nel database

    $sql = mysql_query("SELECT * FROM tabella_registrati WHERE cellulare = '$cellulare'") or die ("Numero già presente");

    $num_rows = mysql_num_rows($sql);

    if ( $num_rows == 0 ) {

    // e inviamo una mail con la riuscita registazione

    mail ($mail, "Richiesta OK", "Complimenti richiesta effettuata con successo", "From: fijlkam.karate01@libero.it");

    // messaggio da far visualizzare all'utente finale

    echo "Complimenti richiesta effettuata con successo.";


    } else {

    echo "Numero cellulare già utilizzato.";

    }

    } else {

    echo "Indirizzo mail già utilizzato.";

    }

    } else {

    echo "La tua mail non è idonea, per la registrazione.";

    }


    } else {

    echo "Tutti i campi sono obbligatori.";

    }

    }

    ?>

    Qualcuno mi aiutiiiii vi prego!!

    Grazie

  2. #2
    Allora...prima di tutto ti consiglierei di postare il codice php tra tag php altrimenti è veramente difficile leggerlo, poi ti consiglierei anche di postare solo il codice che ci interessa davvero non tutti i fronzoli che rendono difficile la lettura e basta.
    Dopo questa premessa posso dirti che io personalmente sostituirei il metodo GET con il metodo POST. Il metodo GET mostra le variabili che passano da una pagina all'altra nella barra dell'indirizzo e quando sono tante, non passano tutte....potrebbe essere questo il tuo problema.
    Poi cos'è: action='?inviodati=ok' ????
    nell'action va messo il nome successiva, dove andranno mandati i dati....si chiama così???

    Cmq tutti i campi del form sia compilati che non compilati vengono mandati alla pagina successiva (tranne i checkbox e i radio), quindi tu devi controllare che il loro valore non sia nullo. Questa cosa non si fa di certo così:

    ( $modulo == TRUE && $nome == TRUE && $cognome == TRUE && $nato == TRUE && $data == TRUE && $domicilio == TRUE && $citta == TRUE && $provincia == TRUE
    && $cap == TRUE && $professione == TRUE && $telefono == TRUE && $cellulare == TRUE && $studio == TRUE && $mail == TRUE && $licenza == TRUE && $societa == TRUE
    && $codice == TRUE && $qualifica == TRUE && $conseguita == TRUE && $il == TRUE && $decorrenza == TRUE && $grado == TRUE && $conseguito == TRUE && $il1 == TRUE
    && $decorrenza1 == TRUE && $stile == TRUE && $corso == TRUE && $programma == TRUE && $il2 == TRUE && $versamento == TRUE ) {

    scrivere $nome==TRUE non vuol dire niente perchè $nome ha come valore, ad esempio, MARTINA e quando mai MARTINA == TRUE????
    per vedere se un campo è stato settato si fa: isSet($nome_campo).
    E cmq ti ripete che il controllo isSet($nome_campo) non va bene per i componenti del tuo form per quelli bisogna fare un controllo sul contenuto $nome==''.


    Facci sapere

  3. #3
    Utente di HTML.it L'avatar di faro14
    Registrato dal
    Aug 2012
    Messaggi
    199
    if ( $modulo == TRUE && $nome == TRUE && $cognome == TRUE && $nato == TRUE && $data == TRUE && $domicilio == TRUE && $citta == TRUE && $provincia == TRUE && $cap == TRUE && $professione == TRUE && $telefono == TRUE && $cellulare == TRUE && $studio == TRUE && $mail == TRUE && $licenza == TRUE && $societa == TRUE && $codice == TRUE && $qualifica == TRUE && $conseguita == TRUE && $il == TRUE && $decorrenza == TRUE && $grado == TRUE && $conseguito == TRUE && $il1 == TRUE && $decorrenza1 == TRUE && $stile == TRUE && $corso == TRUE && $programma == TRUE && $il2 == TRUE && $versamento == TRUE )
    questo non credo funzioni credo che dovresti usare $variabile!=null && $variabile.trim()!=""

  4. #4
    Grazie ragazzi!!
    So di non essere esperto..questo è il mio primo form di contatto... scusate se ho inserito il programma per intero, ma non sapendo proprio dove potesse essere l'errore ho fatto che copiarlo tutto.

    Detto questo..allora abbiate pazienza con me

    X Saretta: tu mi consigli di cambiare if ( $_GET['inviodati'] == "ok" ) in if ( $_POST['inviodati'] == "ok" ) ?

    Poi...io ho copiato questo codice un pò di qua..un pò di la..adattandolo alla mia necessità, quindi questo pezzo di codice <form action='?inviodati=ok' method='POST'> l'ho incollato così..ma non ho capito cosa devo mettere al posto di OK

    X Saretta e Faro:

    if ( $modulo == TRUE && $nome == TRUE && $cognome == TRUE && $nato == TRUE && $data == TRUE && $domicilio == TRUE && $citta == TRUE && $provincia == TRUE && $cap == TRUE && $professione == TRUE && $telefono == TRUE && $cellulare == TRUE && $studio == TRUE && $mail == TRUE && $licenza == TRUE && $societa == TRUE && $codice == TRUE && $qualifica == TRUE && $conseguita == TRUE && $il == TRUE && $decorrenza == TRUE && $grado == TRUE && $conseguito == TRUE && $il1 == TRUE && $decorrenza1 == TRUE && $stile == TRUE && $corso == TRUE && $programma == TRUE && $il2 == TRUE && $versamento == TRUE )

    Cosa ne dite se sostituisco questo pezzo di codice con qualcosa di questo tipo:

    if($is_send)
    {
    if(empty($name) || empty($email) || (!eregi("^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$", $email)) || empty($subject) || empty($mail_body))


    oppure qualcosa così:

    ...
    if (trim($nome)=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo nome!! Grazie!!";
    } elseif (trim($mail)=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo indirizzo e-mail!! Grazie!!";
    } elseif (trim($oggetto)=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci l'oggetto del messaggio!! Grazie!!";
    } elseif (trim($testo)=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il testo del messaggio!! Grazie!!";
    }
    ...


    ??? Non c entra niente?

    Scusate ancora..abbiate pietà di me

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 © 2024 vBulletin Solutions, Inc. All rights reserved.