Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema setcookie

  1. #1

    Problema setcookie

    Buongiorno a tutti, stavo realizzando un piccolo script in cui una funzione è la classica funzione di logout, cioè cancella cookie e sessioni e con l'header ricarica la pagina. Il suo funzionamento è pressoché banale.


    Codice PHP:
    function logout(){
    session_destroy();
    setcookie("email""");
    setcookie("password""");
    header("Refresh: 3;");



    Da manuale dovrebbe filare tutto liscio come l'olio, perché una volta ricaricata la pagina c'è il blocco che controlla se i cookie 'email' e 'password' sono impostati altrimenti rispedisce verso la pagina di accesso.
    Ora, il problema è semplice: non funziona.
    La cosa strana, tuttavia, è che, anche con l'aiuto di var_dump(), ho notato che utilizzando exit() subito dopo setcookie() effettivamente i cookie vengono cancellati, invece se al posto di exit() lascio header() (come in questo esempio) la funzione sembra non avere alcun effetto sui cookie. Ho commesso qualche castroneria?



    edit: questo forum va in tilt quando provo a postare il codice php nei tag php

    Not Acceptable

    An appropriate representation of the requested resource /editpost.php could not be found on this server.



    re-edit: il forum va in tilt quando nel messaggio del thread inserisco la variabile globale della sessione
    Ultima modifica di sirmattia; 03-04-2015 a 11:13

  2. #2
    session_destroy();
    $_SE_SSION = array();
    setcookie( 'email' );
    setcookie( 'password' );

    oppure puoi provare con

    unset( $_COOKIE['email'] )
    unset( $_COOKIE['password'] )
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    $_SE_SSION = array(); non fa la stessa cosa si session_destroy(); ?

  4. #4
    Credevo anche io di sì. Comunque usando unset() sembra funzionare

  5. #5
    session_destroy() è una funzione e serve per eliminare i files che hanno salvato i dati della sessione (nel caso di una gestione nativa delle sessioni) questa non va a toccare le variabili globali impostate ( $_SES_SION e $_CO_OKIE )

    $_SES_SION = array(); svuota l'array delle sessioni eliminando completamente i dati salvati nell'array stesso


    un appunto va fatto su session.gc (garbage) che serve per eliminare effettivamente i files di sessione dal sistema o su sistemi con database per eliminare/ripulire le righe sul db in base ad alcuni parametri session.gc_divisor / session.gc_probability

    http://php.net/manual/en/book.session.php
    Questa volta, più che un voto.. è favoreggiamento.

Tag per questa discussione

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.