Questa funzione controlla che tutti i campi di un form soddisfino dei requisiti minimi prima di procedere alla registrazione dell'utente.



Codice PHP:
function reg_check_data(&$data){
    global 
$_CONFIG;
    
    
$errors = array();
    
    foreach(
$data as $field_name => $value){
        
$func $_CONFIG['check_table'][$field_name];
        if(!
is_null($func)){
            
$ret $func($value);
            if(
$ret !== true)
                
$errors[] = array($field_name$ret);
        }
    }
    
    return 
count($errors) > $errors true;

Ecco l'array da cui vengomo prese le informazioni sui campi.

"check_global" ----> il campo non deve essere vuoto
"check_username ---> il campo non deve essere vuoto e non deve essere già presente un utente con quell'user.
"check_mail" ------> il campo non deve essere vuoto e non ci deve essere già una registrzione ad opera di quella mail.

Codice PHP:
$_CONFIG['check_table'] = array(
    
"username" => "check_username",
    
"password" => "check_global",
    
"name" => "check_global",
    
"surname" => "check_global",
    
"indirizzo" => "check_global",
    
"occupazione" => "check_global"
        "mail" 
=> "check_mail",

); 
La registrazione va a buon fine, ma con
Codice PHP:
error_reporting(E_ALL); 
appare un fastidioso notice:
Notice: Undefined index: action in /web/htdocs/www.miosito.it/home/utenti/include/reg.lib.php on line 51

L'errore si rifà a questa riga della funzione:
Codice PHP:
$func $_CONFIG['check_table'][$field_name]; 
Come mi hanno giustamente fatto notare c'è un parametro dell'array che non è impostato, ma non sono in grado di sistemarlo.
Datemi una mano per favore.