Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    286

    come evitaregli errori "notice"

    c'è percaso un tutorial o qualche link dove posso vedere la natura e come evitare i vari notice dati da php!!!

    grazie


    PS per ora ne ho due che non so risolvere:
    Notice: Undefined variable: $variabile[]....
    Notice: Undefined index: variabileform in......

    kirk

  2. #2
    Utente di HTML.it L'avatar di aserena
    Registrato dal
    Feb 2003
    Messaggi
    310
    Solita tiritera: se il server non è tuo (e immagino sia così) puoi togliere l'output dei notices semplicemente inserendo questa riga
    error_reporting (0);
    all'inizio degli script. Il solito consiglio però è quello di eliminare il problema alla radice, imparando a scrivere codice warning-free, ciao
    La (!) è quella roba che in autunno si intristisce... perche': seccano i piselli, migrano gli uccelli, cadono i marroni, e se poi c'è anche la nebbia non si vede più un caXXo!! by Piero.mac @07/05

  3. #3
    Utente di HTML.it L'avatar di aserena
    Registrato dal
    Feb 2003
    Messaggi
    310

    Re: come evitaregli errori "notice"

    [supersaibal]Originariamente inviato da beipink
    PS per ora ne ho due che non so risolvere:
    Notice: Undefined variable: $variabile[]....
    Notice: Undefined index: variabileform in......
    kirk [/supersaibal]
    Quel tipo di warning di norma cè l'hai quando in un qualsiasi costrutto utilizzi una variabile senza prima dichiararla...

    ciao
    La (!) è quella roba che in autunno si intristisce... perche': seccano i piselli, migrano gli uccelli, cadono i marroni, e se poi c'è anche la nebbia non si vede più un caXXo!! by Piero.mac @07/05

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    286
    [supersaibal]Originariamente inviato da aserena
    Solita tiritera: se il server non è tuo (e immagino sia così) puoi togliere l'output dei notices semplicemente inserendo questa riga
    error_reporting (0);
    all'inizio degli script. Il solito consiglio però è quello di eliminare il problema alla radice, imparando a scrivere codice warning-free, ciao [/supersaibal]
    ...E' chiaro che non hai letto/capito quello che ho scritto...
    io sto cercando di risolvere il problema ora che lo script è offline...ed è pure chiaro che la prima soluzione è stata quella di dichiarare le variabili, ma evidentemente non è bastato per togliere tutti i notice restituiti dallo script!! ;-)

  5. #5
    [supersaibal]Originariamente inviato da beipink
    ...E' chiaro che non hai letto/capito quello che ho scritto...
    io sto cercando di risolvere il problema ora che lo script è offline...ed è pure chiaro che la prima soluzione è stata quella di dichiarare le variabili, ma evidentemente non è bastato per togliere tutti i notice restituiti dallo script!! ;-) [/supersaibal]
    Anche se hai qualcosa tipo:
    Codice PHP:
    switch ( $_GET['act'] ) ecc... 
    se 'act' non viene passato tramite GET ti restituisce un notice (oltre ad eseguire il case 'default' da te scelto).
    Quindi ad esempio devi scrivere prima:
    Codice PHP:
    if ( !isset ( $_GET['act'] ) )
    {
     
    $_GET['act'] = 0;

    O come vuoi tu...


    Comunque puoi andare nel php.ini e cambiare l''error_reporting' in:
    error_reporting = E_ALL & ~E_NOTICE
    Ma te lo sconsiglio perchè:
    1) così non impari a scrivere codice decente;
    2) questi notices possono rivelarsi errori gravi magari nelle future versioni di PHP.

  6. #6
    [supersaibal]Originariamente inviato da ZoneForum
    1) così non impari a scrivere codice decente;
    2) questi notices possono rivelarsi errori gravi magari nelle future versioni di PHP. [/supersaibal]
    3) ogni notice potrebbe essere una falda o un buco nell' applicativo, se si scrive codice con notice, significa che non si ha controllato l' applicativo, ergo e' scritto in modo superficiale, quindi presumibilmente vulnerabile
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    286
    Raga....lo so come disattivare i notice
    all'inizio dello script ho messo error_reporting(E_ALL); ......per controllare ed eliminare tutti gli errori nel codice....La mia domanda era per vedere se esistono altre cause, oltre a quelle che conosco, che possono generare notice....Ora provo a smanettare perchè a quanto pare c'è ancora qualche variabile che non ho dichiarato con NULL!!!

    thanks
    kirk

  8. #8
    Utente di HTML.it L'avatar di aserena
    Registrato dal
    Feb 2003
    Messaggi
    310
    Scusa, ma non credo sia così diff trovare la causa del problema. Nel notice dovresti avere il num di riga dove si trova il codice incriminato, il nome della variabile ce l'hai... basta che fai un percorso a ritrovo e cerchi di capire se stai utilizzando la var senza averla valorizzata in precedenza...

    ciao
    La (!) è quella roba che in autunno si intristisce... perche': seccano i piselli, migrano gli uccelli, cadono i marroni, e se poi c'è anche la nebbia non si vede più un caXXo!! by Piero.mac @07/05

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    286
    ....ho il numero di riga è corrisponde a un ciclo foreach...
    ho già provato a valorizzare delle variabili che potevano essere la causa....cmq ora mi è venuta un'idea e credo di riuscire a risolverlo....

    Farò sapere quando riampro il file!!

    ciao

  10. #10
    [supersaibal]Originariamente inviato da beipink
    Raga....lo so come disattivare i notice
    all'inizio dello script ho messo error_reporting(E_ALL); ......per controllare ed eliminare tutti gli errori nel codice....La mia domanda era per vedere se esistono altre cause, oltre a quelle che conosco, che possono generare notice....Ora provo a smanettare perchè a quanto pare c'è ancora qualche variabile che non ho dichiarato con NULL!!!

    thanks
    kirk [/supersaibal]
    cioè vorresti che il codice si scrivesse da solo?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

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.