Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: header already by sent

  1. #1

    header already by sent

    mi è successa una cosa strana... sto preparando un progetto... l'ho provato in locale ed era tutto ok...

    lo messo online e ancora tutto bene...


    oggi l'ho messo in localhost in un'altra macchina e mi dà uno strano errore, in pratica quando tento di fare il login mi dice: header already be sent o qualcosa del genere.... ma come mai nella mia macchina e online questo errore non si verifica?

    grazie in anticipo

  2. #2
    non puoi effettuare operazioni sull'header (redirect, cookie...) dopo aver mandato in output qualcosa


    sbagliato

    Codice PHP:
    <html><head><title>titolo</title></head>
    <?php
    header
    ("Location:pagina.php"); 
    exit();
    ?>

    giusto
    Codice PHP:
    <?php
    header
    ("Location:pagina.php"); 
    exit();
    ?>
    <html><head><title>titolo</title></head>
    www.gext.it

  3. #3
    scusa ma allora il problema dovrebbe verificarsi anche sulla mia macchina ed online

    invece leggi bene il messaggio il mio problema è un altro...

    nella mia macchina in locale il problema non si verifica, messo online ancora il problema non si verifica, invece se lo metto in locale su di un'altra macchina allora si verifica il problema... ho cercato un pò e forse potrebbe dipendere dal settaggio su php.ini dalla variabile output_buffering

    qualcuno ne sà qualcosa??

  4. #4
    è esattamente quello che ho detto io....

    sulla tua macchina il php analizza tutto il codice e poi lo esegue
    sul server remoto no
    www.gext.it

  5. #5
    ma veramente anche sul server remoto è ok...


    è in locale su di un'altra macchina che non và... e non capisco il perchè??

  6. #6
    o cambi il valore della direttiva php (sconsigliato)
    o programmi in una maniera piu giusta (consigliato)
    www.gext.it

  7. #7
    ok!!

    ma se è sconsigliata come mai, per esempio, nel server di altervista è settata ad On??

    comunque grazie.

  8. #8
    forse perchè quelli di altervista se ne fregano? pensa che ci sono server a pagamento che sono tali e quali ad altervista...
    www.gext.it

  9. #9
    ok,
    ho ricontrollato il codice delle mie pagine ed il problema è questo:

    ho impostato il layout con un 4 div: header, navigation, content e footer..., il menu navigation contiene i link per potersi muovere ed un box dove effettuare il login, ho previsto che l'utente può navigare in diverse pagine, ma per alcune cose deve effettuare il login, quindi quando l'utente inserisce i dati viene portato alla pagina login.php qui viene controllato se i dati sono corretti e setto una variabile di sessione con l'idutente e con
    header("Location: $_SERVER[HTTP_REFERER] ");

    lo riporto alla pagina dove si trovava... in ogni altra pagina poi controllo se la variabile di sessione ['idutente'] non è settata allora sul div navigation faccio comparire il box per l'accesso, in caso contrario faccio comparire le altre opzioni che gli iscritti possono fare...

    cosa posso usare al posto di
    header("Location: $_SERVER[HTTP_REFERER] ");
    per evitare che mi appaia l'errore header already by sent...

    grazie

  10. #10
    non hai una pagina strutturata piu o meno cosi?
    Codice PHP:
    //mettere il controllo e il redirect
    include("header.php");
    include(
    "menu.php");

    content();

    include(
    "footer.php"); 

    a sto punto basta effettuare il controllo e quindi il redirect all'inizio (dove cè il commento)
    www.gext.it

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.