Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    header dopo un echo... funziona!! :-S

    Ho un sito in sviluppo in locale, su wamp, con XP Pro...

    Ogni tanto per vedere se tutto è ok, metto un echo per visualizzare le variabili in particolari meomenti, o i dati passati...

    Bene, in teoria dovrebbe stampare a video il valore passato ed ai successivi header location, non riuscire a far nulla e dare errore, ma poco importa, io volevo proprio vedere cosa passavo in quel momento... mettevo l'echo apposta.

    Ora mi capita che non vedo l'echo, a meno che non ci metta un exit subito dopo, perchè l'header funziona senza dare errore...

    devo cambiare qualcosa in php.ini o httpd.conf?

    l'installazione è quella di default... con poche modifiche, sopratutto per visualizzare tutti gli errori, che però non vedo...

    ad esempio, in caso di notice con un header location successivo, io ne resto all'oscuro...

    che fo?

    Grazie
    Ciao!

  2. #2
    abilita la stampa degli errori ... se non li vedi i casi sono due ...

    a) un miracolo,
    b) errori/notice disabilitati

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    c) Caching dell'output con le funzioni ob_...

  4. #4
    la mia situazione è questa:

    error_reporting: E_ALL

    ma ho provato anche con
    error_reporting E_ALL & E_NOTICE

    ma niente...

    solo se dopo un echo metto un exit vedo il tutto...

    se i notice sono in una pagina che non ha header, li vedo... se nella pagina dopo un notice o un echo ho un header location, il browser segue l'header senza mostra i messaggi o dare errori.

    non uso ob_ ... ecc...

    esiste in php.ini una funzione che abilita di default le funzioni di caching?
    Potrebbe essere attiva quella...
    Ciao!

  5. #5
    Sì, ce ne sono più di una. Se vuoi disattivare del tutto il buffering devi modificare php.ini come segue:

    codice:
    output_buffering = 0
    implicit_flush = On
    ; Disattivare eventuali gestori di output
    ; output_handler =
    Inoltre quando combini i flags di reporting, usa l'OR (o il più), non l'AND:

    Codice PHP:
    error_reporting(E_ALL|E_NOTICE); 

  6. #6
    Ciao,
    grazie, hai risolto il mio problema, perchè non sapevo che output_buffering fosse di default a on, era impostato a 4096...

    era quello il problema...

    poi, per quanto riguarda gli errori, con error_reporting: E_ALL nel php.ini, già dovrebbero comparire tutti gli errori, o sbaglio?
    Ciao!

  7. #7
    Originariamente inviato da fmortara
    poi, per quanto riguarda gli errori, con error_reporting: E_ALL nel php.ini, già dovrebbero comparire tutti gli errori, o sbaglio?
    ci vuole pure:

    display_errors = On

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    quello era già ad on...

    il problema era che bufferizzava gli output, e se incontrava ad esempio un notice prima di un header location, eseguiva l'header, cosi come se in una funzione, all'interno, ci mettevo un echo di test, lui lo stampava, ma poi eseguendo l'header location, io non ne vedevo il risultato, a meno di non piazzarci un exit subito dopo.

    tutto qui, gli errori invece li vedevo regolarmente (se li causavo volutamente per test, perchè ormai sono cosi bravo che non ne faccio più!! ) se poi restavo nella pagina...

    Ciao!

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.