Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Errore JSON, cookie prima del echo json_decode

    Codice PHP:
    <?php
    header
    ('Content-Type: application/json');
    // creo cookie
    echo json_encode(array('error' => 0));?>
    se cancello la riga che crea il cookie, ajax torna a funzionare correttamente, peccato che... abbia bisogno di creare il cookie, come risolvere?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se non ci fai vedere come crei il cookie mi sa che viene male aiutarti

  3. #3
    e cmq penso che la creazione del cookie deve stare prima del resto, se non ricordo male.....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da clasku Visualizza il messaggio
    se non ci fai vedere come crei il cookie mi sa che viene male aiutarti
    lo creo con php utilizzando il set_cookie

  5. #5
    si ma dovresti fornirci il codice del file generale.
    perchè come ti ho indicato, mi sa che il setcookie va messo in all'inizio.
    io infatti uso un file apposito per settare i cookie, che richiamo solo per questo.
    se lo mettevo dopo altro codice (tipo te) non mi funzionava.

  6. #6
    e cmq dalla documentazione:
    codice:
    setcookie() defines a cookie to be sent along with the    
    rest of the HTTP headers. Like other headers, cookies must be sent    
    before any output from your script (this is a    protocol restriction). 
    This requires that you place calls to this function    
    prior to any output, including <html> and    
    <head> tags as well as any whitespace.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da fermat Visualizza il messaggio
    si ma dovresti fornirci il codice del file generale.
    perchè come ti ho indicato, mi sa che il setcookie va messo in all'inizio.
    io infatti uso un file apposito per settare i cookie, che richiamo solo per questo.
    se lo mettevo dopo altro codice (tipo te) non mi funzionava.
    codice: http://codepad.org/4Gu0VAkd eccotelo

    e come richiami questo file? comunque una soluzione è passare i dati tramite json_encode e poi settarli dentro al success di ajax...

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    usi una funzione mySetCookie, cosa fa esattamente? Metti un path di riferimento per il cookie?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da clasku Visualizza il messaggio
    usi una funzione mySetCookie, cosa fa esattamente? Metti un path di riferimento per il cookie?

    define('COOKIE_NAME' , '');
    define('COOKIE_PATH' , '/');
    define('COOKIE_SECURE', false);

    Codice PHP:
    <?php
        
    /**     * Generazione Cookie     *     * Crea i cookie da utilizzare nell'applicazione     *     * @param    string    $cookieName        Nome del cookie     * @param    string    $cookieValue    Valore del cookie     * @param    integer    $cookieExpire    0 = durata fino alla chiusura del browser, 1 = 1 anno     * @return    void     */    function mySetCookie($cookieName$cookieValue$cookieExpire 0) {                // Enable sending of a P3P header by removing from the following line (try this if login is failing in IE6)        // @header('P3P: CP="CUR ADM"');                // Durata cookie        $cookieExpire = (($cookieExpire != 0) ? (TIME_NOW + TIME_YEAR) : 0);                // Httponly (evita % di possibili attacchi XSS)        $httponly = true;                        // Setta il cookie        setcookie(COOKIE_NAME . $cookieName, $cookieValue, $cookieExpire, COOKIE_PATH, '', COOKIE_SECURE, $httponly);    }?>
    Il path è / in quanto utilizzando i friendly urls scambia i files per cartelle (es. includes/ajax.php = path/ajax/login)

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova a vedere se spostando la dichiarazione degli header subito dopo la funzione che setta i cookie risolvi
    se lo chiami fuori da ajax, ricevi qualche errore a schermo?

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.