Problema con una "Notice"
Problema con una "Notice" postato il 21/01/2010 12:01:01 nel forum programmazione, open source e hosting
Ho questo errore:
Notice: Undefined index: action in C:UsersFabioDocumentsxampplitehtdocspinclude
eg.lib.php on line 51
Il codice dell'errore sarebbe questo:
function reg_check_data(&$data) {
global $_CONFIG;
$errors = array();
foreach($data as $field_name => $value) {
$func = $_CONFIG['check_table'][$field_name]; <--- riga dell'errore
if(!is_null($func)) {
$ret = $func($value);
if($ret !== true)
$errors[] = array($field_name, $ret);
}
}
return count($errors) > 0 ? $errors : true;
}
Questa funzione di libreria mi serve per verificare che i campi inseriti dall'utente nel form di inserimento non siano vuoti. Se sono vuoti visualizzerò un messaggio di errore. check_table è un array che associa ad ogni campo del form di registrazione, una funzione che ne controlla il valore.
Premetto che funziona tutto (questa funzione di libreria non è mia, l'ho presa da php.html.it, e funziona veramente bene) però vorrei eliminare quel fastidioso Notice se possibile.
Grazie a tutti^^
Pagine → 1
21/01/2010 12:07:37
Semplicemente è un settaggio di PHP e puoi configurarlo da php.ini affinchè non ne avvenga la visualizzazione.
Se non puoi accedervi però, puoi sempre impostare tu manualmente gli errori che il parser deve riportarti:
error_reporting(E_ALL & ˜E_NOTICE);
Includendo la stringa riportata all'inizio del tuo file, chiedi esplicitamente al parser di riportare tutti gli errori tranne i Notice ;-)
21/01/2010 12:29:38
In php.ini ho già questo settaggio:
; error_reporting
; Default Value: E_ALL & ˜E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ˜E_DEPRECATED
Strano quindi che mi faccia vedere il notice, comunque aggiungendo la riga che mi hai detto tu è sparito^^
Grazie ;)
21/01/2010 12:31:16
mulaz91 ha scritto: In php.ini ho già questo settaggio:
; error_reporting
; Default Value: E_ALL & ˜E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ˜E_DEPRECATED
Strano quindi che mi faccia vedere il notice, comunque aggiungendo la riga che mi hai detto tu è sparito^^
Grazie ;)
Quello non è il settaggio effettivo, quelli son solo commenti (preceduti da punto e virgola), la riga successiva a quei commenti priva del punto e virgola all'inizio è il settaggio effettivo ;-)
21/01/2010 12:39:23
Adesso ho guardato meglio e l'ho trovato :P l'ho settato bene, quindi non c'è più bisogno della riga di codice.
Questo naturalmente mi va bene quando sono in locale. Quando pubblicherò il sito da qualche parte come potrò fare?
21/01/2010 15:06:21
mulaz91 ha scritto: Adesso ho guardato meglio e l'ho trovato :P l'ho settato bene, quindi non c'è più bisogno della riga di codice.
Questo naturalmente mi va bene quando sono in locale. Quando pubblicherò il sito da qualche parte come potrò fare?
Solitamente, i provider hanno il php.ini con il Notice sprovvisto.
Se capiti nel caso inverso e non hai accesso alle impostazioni del file di configurazione, l'unico rimedio è ricorrere all'error_reporting che ti ho mostrato prima.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Enlisted ↗
World of Tanks ↗
Project Entropy ↗
Seconda Era ↗
World of the Sea Battle ↗
State of Survival ↗