Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Controllo sui campi.

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178

    Controllo sui campi.

    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.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Ho trovato il problema.

    questo isset non riesce ad arginare il problema della defizxione dell'array.

    Codice PHP:
    if(isset($_POST['action']) and $_POST['action'] == 'Invia'){
        
    $ret reg_check_data($_POST);
        
    $status = ($ret === true) ? reg_register($_POST) : REG_ERRORS 
    Come posso fixarlo?
    E se cancellassi "and $_POST['action']"?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Cosa c'è di sbagliato in :
    Codice PHP:
    if(isset($_POST['action']) && $_POST['action'] == 'Invia'){
    ...

    Perchè ho quel notice!


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.