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

    [PHP]Controllo valori dei form

    vorrei controllare se i campi di un form sono stati inseriti correttamente (cioè se sono stati scritti) e in caso contrario far uscire a video a lato del 'input text' un messaggio di errore tipo:INSERISCI QUESTO CAMPO. Come si potrebbe fare?

  2. #2
    Ciao, io ho risolto il problema con uno script di Java. Ora ti posto il codice e provo di spiegartelo un po':

    <%@ Language=JavaScript %>
    nella primissima riga della pagina devi inserire questo.

    <SCRIPT>
    function Verif()
    {
    if (document.forms[0].elements[0].value == ""){
    alert("\nNon hai inserito il nome!\n\n" +
    "Inserisci il tuo nome...")
    document.forms[0].elements[0].focus();
    return false;
    }

    else if (document.forms[0].elements[1].value == ""){
    alert("\nNon hai inserito il cognome!\n\n" +
    "Inserisci il cognome...")
    document.forms[0].elements[1].focus();
    return false;
    }

    else if (document.forms[0].elements[2].value == ""){
    alert("\nNon hai inserito la città!\n\n" +
    "Inserisci la città...")
    document.forms[0].elements[2].focus();
    return false;
    }

    else if (document.forms[0].elements[3].value == ""){
    alert("\nNon hai inserito il giorno!\n\n" +
    "nInserisci il giorno...")
    document.forms[0].elements[3].focus();
    return false;
    }

    else if (document.forms[0].elements[3].value <= "00" || document.forms[0].elements[3].value > "31"){
    alert("\nDeve essere compreso tra 01 e 31!\n\n" +
    "Inserisci il giorno corretto...")
    document.forms[0].elements[3].select();
    document.forms[0].elements[3].focus();
    return false;
    }

    else if (document.forms[0].elements[4].value == ""){
    alert("\nNon hai inserito il mese!\n\n" +
    "nInserisci il mese...")
    document.forms[0].elements[4].focus();
    return false;
    }

    else if (document.forms[0].elements[4].value <= "00" || document.forms[0].elements[4].value > "12"){
    alert("\nDeve essere compreso tra 01 e 12!\n\n" +
    "Inserisci il mese corretto...")
    document.forms[0].elements[4].select();
    document.forms[0].elements[4].focus();
    return false;
    }

    else if (document.forms[0].elements[5].value == ""){
    alert("\nNon hai inserito l'anno!\n\n" +
    "Inserisci l'anno...")
    document.forms[0].elements[5].focus();
    return false;
    }

    else if (document.forms[0].elements[5].value <= "1940" || document.forms[0].elements[5].value > "2000"){
    alert("\nDavvero è il tuo anno di nascita?\n\n" +
    "Inserisci l'anno corretto...")
    document.forms[0].elements[5].select();
    document.forms[0].elements[5].focus();
    return false;
    }

    else if (document.forms[0].elements[6].value == ""){
    alert("\nNon hai inserito il testo!\n\n" +
    "Inserisci il testo del messaggio...")
    document.forms[0].elements[6].focus();
    return false;
    }

    else if (document.forms[0].elements[7].value == ""){
    alert("\nNon hai inserito la mail!\n\n" +
    "Inserisci la mail...")
    document.forms[0].elements[7].focus();
    return false;
    }

    else if (document.forms[0].elements[7].value.indexOf ('@',0)
    == -1 || document.forms[0].elements[7].value.indexOf ('.',0)
    == -1){
    alert("\nUna mail deve contenere " +
    "i caratteri \"@\" e \".\"!\n\n" +
    "Inserisci l'indirizzo corretto.")
    document.forms[0].elements[7].select();
    document.forms[0].elements[7].focus();
    return false;
    }
    else
    alert("\nIl modulo è stato inviato!\n\n" +
    "Risponderemo al più presto...");
    return true;
    }
    </SCRIPT>

    questo va inserito nel tag <head> e come avrai capito serve a verificare i campio del form. Offre sia un controllo di riempimento dei campi, che un controllo di veridicità dei dati inseriti.
    Ogni numero di elements corrisponde ad un campo del form, partendo da 0. Il numero di forms è sempre 0 perché il form è sempre quello. Se un dato non corrisponde ai requisiti, appare un messaggio (alert), e viene evidenziato il campo "incriminato" tramite il comando select e focus. Questo controllo è impostato per Nome, Cognome, Città, giorno mese anno di nascità, messaggio lasciato nell'area di testo, indirizzo mail.

    <FORM ACTION="pag_invio.php" Method="POST"
    onSubmit="return Verif(this.form)" name="nome_modulo">

    Questa è l'intestazione del tuo form. pag_invio è una pagina generalmente .php dove vengono raccolti i dati e spediti al db poi mandati al destinatario via mail, ecc... Da notare che onSubmit cioè all'invio del modulo, viene richiamata la funzione Verif, precedentemente elencata. Se vuoi vedere lo script all'opera clikka questo indirizzo: http//utenti.lycos.it/lugoroosters è il sito della mia squadra di subbuteo, entra nel sito e scegli "contattaci" dal menù di sinistra. Se vuoi vedere lo script in azione, devi commettere degli errori di riempimento dei campi.
    Spero di averti aiutato!

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.