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

    problema controlli form

    ciao a tutti io sto facendo questo tipo di controlli su form, ho una funzione che ho chiamato controlla con i vari casi che poi applico a ogni cmapo interessato e verifico l'errore:


    //***************CONTROLLI***********

    $check=true;
    $errore=controlla($nome,'obbligatorio',2,255);
    $check=$check && $errore;
    //echo $check.'1
    ';

    $errore=controlla($titolare,'obbligatorio',2,255);
    $check=$check && $errore;
    //echo $check.'2
    ';

    $errore=controlla($regione,'luogo',0,0);
    $check=$check && $errore;
    //echo $check.'3
    ';

    $errore=controlla($provincia,'luogo',0,0);
    $check=$check && $errore;
    //echo $check.'4
    ';

    $errore=controlla($comune,'obbligatorio',2,255);
    $check=$check && $errore;
    //echo $check.'5
    ';

    $errore=controlla($telefono,'numero',4,255);
    $check=$check && $errore;
    //echo $check.'6
    ';

    $errore=controlla($email,'obbligatorio',5,255);
    $check=$check && $errore;
    if ($errore){
    $errore=controlla($email,'email',0,0);
    $check=$check && $errore;
    }
    //***************FINE CONTROLLI***********

    if($check==true){
    echo 'i campi sono ok';
    }

    La mia domanda è questa: finchè inserisco le cose correttamente è ok, se invece ad esempio passo il primo corretto, il secondo lo sbaglio il terzo corretto il quarto corretto...mi vanno falsi a cascata. Come posso fare per farsi che mi segnali SOLO quelli sbagliati? Cioè io non voglio che se sbaglio il primo e tutti gli altri son giusti mi segna che con tutti sbagliati. Grazie ciao Simone.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Probabilmente la funzione ti ritorna true o false e ovviamente richiamandola per ogni controllo sovrascrivi la variabile dell'errore tenendo l'ultima valida per tutti.

    Potresti fare che a seconda del caso, la funzione ritorni un array con la chiave corrispondente al campo.

    A priori $errore= array();
    Codice PHP:
    function errore(...)
    {

    //controllo email...
    //se errato:
    return $errore['email'] = false;  //cosi' per ogni caso.

    Alla fine avrai un array con tutte le chiavi e corrispondeze del campo

  3. #3
    Perchè non usi una classe già pronta tipo http://www.formhandler.net/ ?

    Ti risparmi tanta fatica ed ottieni un risultato migliore.

    In ogni caso, ti basta verificare il valore restituito dalle singole chiamata a controlla() piuttosto che $check.

  4. #4
    Ok adesso mi studio la soluzione migliore, o comunque la più semplice poi vi faccio sapere grazie ciao.

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.