- Home
- Categorie
- Coding e Sistemistica
- PHP
- [log] dubbio sui Notice (guru a me!)
-
[log] dubbio sui Notice (guru a me!)
salve gente,
dai log di php riscontro questo in moltissimi casi:"[ip...] PHP Notice: Undefined variable: H_M_STANZA in /var/www/vhosts/directory_sito/httpdocs/_process "
escludendo il fatto che potrei disattivare i notice modificando il file php.ini in questo modo:
da: error_reporting = E_ALL a: error_reporting = E_ALL & ~E_NOTICE
come posso ovviare la problema?
l'unica cosa cui mi viene da pensare è che il codice .php è scritto male.
ma come? funziona benissimo!forse è un problema di "include vari": in genere un file è composto da
include(header.php) include(main.php) include(footer.php);
e ovviamente l'header stesso include altri file che portano altre variabili che incidono sul main.php e sul footer.php.
-
Sarebbe utile poter vedere un estratto del codice dove usi questa variabile H_M_STANZA
-
il codice non è niente di che...
//su header.php if($h_m_stanza == '1') $act_area = 'on';
//sul main della pagina if($act_area=='on') $html.='<strong>Activated</strong>';
il quid del log credo [ma non vorrei dire una baggianata] nasca dal fatto che una variabile è definita in un file (header.php) ma viene poi "eseguita" solo in un altro incluso successivamente (il main.php).
la mia domanda è questa:
se all'inizio di ogni file non definisco delle variabili che poi vado ad interrogare (anche solo tramite 1 semplice if) nel file stesso, php mi genera un log error?
ed in caso, come ovviare?
-
Io ho ovviato con un controllo if(IsSet($variabile)
-
quindi nel mio caso faresti una cosetta del genere??
if(isset($variabile)) AND $variabile=='on')...
-
Esatto, proprio così.
-
nada!
il problema persiste...
non so' proprio dove sbattere la testa, ma d'altronde quelle variabili sono "esterne" al file eseguito... amen, quasi quasi me lo tengo così e basta!
-
creala global
-
O la fai global oppure prova così:
[php]if(isset($variabile)) {
if ($variabile=='on')...}
[/php]
-
data la mole considerevole di queste situazioni, faccio felice il parser e gli evito tutte le { e } Provo e vi dico!