Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    2,244

    Errore Cannot modify header information - headers already sent by

    Ciao a tutti,
    sto provando uno script in php e mi dà quasto errore. Perchè???

    Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.stefanopisciella.it/htdocs/latino/datiaccesso.php:9) in /home/mhd-01/www.stefanopisciella.it/htdocs/latino/datiaccesso.php on line 13

    il sorgente del file che va in errore è:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">
    <meta name="generator" content="PSPad editor, www.pspad.com">
    <title></title>
    </head>
    <body>
    <?php
    $DatiServerCopia2011 = $_REQUEST["pass"];
    if ($DatiServerCopia2011 == xxx)
    {
    header("locationati_Server_2011.php");
    }
    else {
    echo "<h1>ERRORE!!!</H1>";
    }
    ?>
    </body>
    </html>

    Aspetto aiuti vari

    Grazie
    Stefano P.

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    non puoi inviare output se devi fare un redirect con php..
    puoi fare così, stando attento che non ci sia NULLA, NEMMENO UNO SPAZIO prima del primo tag PHP..
    Codice PHP:
    <?php
    $DatiServerCopia2011 
    $_REQUEST["pass"];
    if (
    $DatiServerCopia2011 == xxx)
    {
    header("locationati_Server_2011.php");
    }
    else {
    $var1 "<h1>ERRORE!!!</H1>";
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">
    <meta name="generator" content="PSPad editor, [url]www.pspad.com[/url]">
    <title></title>
    </head>
    <body>
    <?php echo $var1?>
    </body>
    </html>

  3. #3
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    un mio articolo con la spiegazione del problema e le possibili soluzioni:

    http://razorblade.netsons.org/php-wa...-already-sent/

  4. #4
    Originariamente inviato da Razorblade
    Ciao,
    un mio articolo con la spiegazione del problema e le possibili soluzioni:

    http://razorblade.netsons.org/php-wa...-already-sent/
    Perdonami ma l'output buffering NON E' la soluzione del problema, e' solo un abuso di una funzione il cui scopo e' un altro. La soluzione VERA e' scrivere il codice in modo corretto (mentre nel tuo articolo e' relegata ad una singola frase in coda al post), per favore smettiamo di suggerire questa orrenda pezza che cura i sintomi ma non insegna nulla ne' risolve la CAUSA del problema.

    Maggiori informazioni nella discussione in questo thread: http://forum.html.it/forum/showthrea...readid=1449517

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ti perdono, ma questa frase

    Quando è possibile sarebbe forse meglio evitare di impostare l’output buffering su on al limite inserire il valore di 4096 bytes come descritto nel php.ini e cercare di fare attenzione a non inserire dell’output in precedenza alle chiamate della funzione header()
    è abbastanza eloquente.

    L'Output Buffering è una possibile soluzione, che personalmente non consiglio e non ho mai consigliato nemmeno nell'articolo.

    Che a te non piaccia ( e nemmeno a me ) questo non significa che non sia una soluzione.

  6. #6
    Non e' molto eloquente, e' anzi un piccolo richiamo in fondo all'articolo, mentre tutta l'attenzione e' posta sulla soluzione sbagliata: dici che "ci sono molte soluzioni" ma in realta' ne spieghi in dettaglio solo una.

    Se vuoi fare un articolo informativo che sia utile, dovresti porre l'attenzione sulle soluzioni corrette ed eventualmente relegare a semplici accenni le "pezze" di ripiego.

  7. #7
    Premessa: io sono dalla parte di k.b

    La cosa "non detta" su questo argomento però è un'altra.

    Volendo fare un articolo su questo argomento bisognerebbe:
    a) spiegare almeno in modo intuitivo cosa siano gli headers reponse (non una cosa intuitiva).
    b) spiegare il modo in cui organizzare il codice e separare la parte della logica da quella della stampa.

    PERFETTO.

    ma il 99% di coloro che accusano tale errore non sono espertissimi di php si mettono su google alla ricerca della soluzione:
    se si sentono dire "devi riorganizzare il codice" si sentono cadere il mondo addosso... mentre se gli si propone una soluzione veloce e "che non fa uscire errori" questa diventa LA SOLUZIONE.

    Così, i consigli migliori non sempre sono compresi dalla "massa" mentre se gli si dà una soluzione semplice e funzionante questi saranno felici... anche se inconsapevoli di ciò che fanno.

    DILEMMA:
    complesso e giusto VS semplice e sbagliato
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  8. #8
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Che altro dire, critiche accettate, i commenti sono aperti anche per voi

  9. #9
    Originariamente inviato da oly1982


    Così, i consigli migliori non sempre sono compresi dalla "massa" mentre se gli si dà una soluzione semplice e funzionante questi saranno felici... anche se inconsapevoli di ciò che fanno.

    DILEMMA:
    complesso e giusto VS semplice e sbagliato
    Non é un dilemma.
    Il motivo per cui un programmatore inesperto si rivolge ad uno più esperto é proprio per avere le giuste soluzioni.

    Per spiegarmi meglio, una volta, su questo forum ho visto:

    PROBLEMA: Notice: Undefined index .....

    SOLUZIONE PROPOSTA: Disabilitare la visualizzazione degli errori

    Senza parole
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  10. #10
    Originariamente inviato da mtx_maurizio
    Non é un dilemma.
    Il motivo per cui un programmatore inesperto si rivolge ad uno più esperto é proprio per avere le giuste soluzioni.

    Per spiegarmi meglio, una volta, su questo forum ho visto:

    PROBLEMA: Notice: Undefined index .....

    SOLUZIONE PROPOSTA: Disabilitare la visualizzazione degli errori

    Senza parole
    ciao maurizio...

    http://www.yourinspirationweb.com/20...lta-per-tutte/

    Originariamente scritto da mtx_maurizio alias maurizio tarchini
    La soluzione è ovviamente portare le funzioni che modificano l’header all’inizio dello script o comunque prima di qualsiasi output. Questo lo si può fare nel 99,5% dei casi, anche quando sembra che non sia possibile, ed è la soluzione migliore.
    Tuttavia, in rare circostanze, potrebbe non essere possibile questa procedura.
    In questo caso potremo utilizzare la funzione ob_start() (da invocare all’inizio dello script). Questa funzione trattiene gli output nel buffer fino al termine dell’esecuzione dello script.
    ... questo è il ragionameto che io seguirei per spiegarlo...
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.