Visualizzazione risultati 1 fino 12 di 12

Discussione: Errori nei set cookie ed header di php

  1. #1
    Guest

    Predefinito

    Salve,
    ho riscontrato all\'apparenza un piccolo problema con il settaggio cookie e gli header in php.
    Piccolo perche da un piccolo errore ne parte uno di quelli catastrofici ehehe.

    Quando viene settato un cookie cioè viene utilizzata la string:
    $cookie_expire = 240;
    setcookie(\"cookienome\", \"$v\", time()+(3600*$cookie_expire), \"/\");

    viene dato l\'errore:
    Warning: Cannot add header information - headers already sent by (output started at /membri/itfamily/login/index.php:2) in /membri/itfamily/login/index.php on line 8

    Sul mio webserver funziona alla perfezione ma qui no

    lo stesso vale per gli
    header(\"location:link.php\");
    stesso errore..

    chi sa dare una spegazione???
    (p.s. non dite di anteporre la @ alle funzioni perche tanto non funziona)

  2. #2
    Guest

    Predefinito

    anteponi // , in questo modo disabiliti la funzione, che errori da?

  3. #3
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    a me gli header funzionano perfettamente!!!

    6 sicuro di averli messi nella posizione corretta?
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  4. #4
    L'avatar di Greenant
    Greenant non è connesso Altervistiano Junior
    Data registrazione
    11-05-2002
    Messaggi
    687

    Predefinito

    usa le funzioni di buffering a manda tutto il contenuto in un solo colpo alla fine
    There's always one more bug.

  5. #5
    Guest

    Predefinito

    che usate per fumare??

    se antepongo // la funzione viene disabilitata!!!!!! ma che idea .. io devo setterlo per forza il cookie! e in quanto agli header singolarmente funzionano se se ne mettono piu di uno relativo a diverse funzioni come ad es:

    if ($comando == \"\") {
    header(\"location:\");
    } else {
    header(\"location:\");
    }
    non funzionano +!!! non dite che non so bono a programmare perche sul mio server funzionano :p

  6. #6
    Guest

    Predefinito

    che usate per fumare??
    primo non offendere


    se antepongo // la funzione viene disabilitata!!!!!!
    lo avevo anche scritto

    ma che idea .. io devo setterlo per forza il cookie! e in quanto agli header singolarmente funzionano se se ne mettono piu di uno relativo a diverse funzioni come ad es:

    if ($comando == \"\" {
    header(\"location:\";
    } else {
    header(\"location:\";
    }
    non funzionano +!!! non dite che non so bono a programmare perche sul mio server funzionano

    [Non commento...]

    cmq non potrebbero per qualche recondito caso essere bloccati dal safemode?

  7. #7
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    headers already sent by (output started at...
    Questo messaggio d\'errore indica che non è più possibile aggiungere headers alla pagina proprio perchè è già stato inviato l\'header che definisce il tipo del documento, es \"Content-Type: text/html\" seguito da due \"\\n\". Di solito questo capita quando il programma genera un messaggio di warning per l\'utente, e quindi per comunicare con il browser è costretto ad aprire da subito uno stream.

    L\'header \"SetCookie\" inoltre non può essere posposto a nessun\'altro header, l\'header \"Location:\" deve essere inviato prima di un \"Content-Type:\", mentre questo deve essere inviato per ultimo, seguito appunto da una riga vuota.

    Sei sicuro inoltre che non ci sia alcun file incluso che genera warning, il server in cui girano i tuoi script ha il safemode abilitato (a differenza probabilmente di quello che hai a casa), magari in un file che includi prima di inviare gli headers c\'è una violazione del safe mode che genera un warning. Se comunque posti qui il codice completo si può cercare di risolvere il problema.
    Gianluca

  8. #8
    L'avatar di Greenant
    Greenant non è connesso Altervistiano Junior
    Data registrazione
    11-05-2002
    Messaggi
    687

    Predefinito

    Ma se come c\'è scritto più volte nei manuali del PHP usate ob_start(......) all\'inizio della pagina e ob_end_flush(......) alla fine della pagina risolvete un sacco di problemi
    There's always one more bug.

  9. #9
    Guest

    Predefinito

    ma boh...
    non ci sono header content type
    solo location
    e negli include non ci sono errori...

    è dimostrato che su ben 2 server funziona il mio script.. ma qui no :(

  10. #10
    Guest

    Predefinito

    ciauzz

  11. #11
    Guest

    Predefinito

    come funzionerebbero sti ob??? :-/
    me lo spieghi :D

  12. #12
    L'avatar di Greenant
    Greenant non è connesso Altervistiano Junior
    Data registrazione
    11-05-2002
    Messaggi
    687

    Predefinito

    Il primo consiglio è di leggere sempre la documentazione. Se vai sul sito php.net ci sono anche le traduzioni in italiano.
    Comunque scrivi

    ob_start(\"ob_gzhandler\");

    e poi metti tutte le istruzioni che mandano header o altri output e poi alla fine

    ob_end_flush();

    per mandare tutto in un colpo al browser
    There's always one more bug.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •