Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428

    [sessioni] classe gestione sessioni

    buona notte,
    sto scrivendo una semplice classe per gestire le sessioni,
    ho scritto
    codice:
    function sessionStart(){
      session_start();
      echo "s: ".session_id(). "
    ";
      if (!$this->checkSession()) {
        $this->sessionDestroy();
        $this->registerVar('session_agent',$this->session_agent);
      }
      return true;
    }
    function getId() {
      return session_id();
    }
    Il primo dubbio è .. perchè il session_id con getId non è restituito? Nel sessionStart quando avvio viene stampato correttamente..se poi dal file richiamo il getId mi restituisce stringa vuota, anche se scrivo
    codice:
    function getId() {
      echo "s: ".session_id(). "
    ";
    }
    non stampa niente ... tenendo conto che i metodi scritit che accedono alle variabili di sessione funzionano correttamente, perchè non è possibile accedere al session_id? :master:
    Anche nel documento in cui includo la classe se dopo aver avviato la sessione all'interno della classe poi provo a richiamare session_id() non visualizza niente!?
    Il session_id è locale al file invocante il session_start?
    L'inclusione della classe la effettuo mediante il require_once ed è in una sottocartella, potrebbe influire? Però in questo ultimo caso, il require non funziona come l'include e quindi il codice viene riportato localmente al file che effettua l'inclusione?

    Un'altra cosa.. quando distruggo la sessione, reinizializzando l'array e chiamando il session_destroy, l'id di sessione lo devo rigenerare o ci pensa automaticamente php? Inoltre il manuale di php dice di reimpostare la vita del cookie, ma nel caso in cui il cookie sia stato generato da php per la propagazione dell'id, non ci dovrebbe pensare automaticamente il session_destroy?


    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    a mente un pochino più sveglia (ma mica poi tanto di più ), il problema è dovuto al fatto che session_start non è la prima istruzione della pagina php? Però è inserita prima di output verso il client! Ma apparentemente l'accesso alle variabili in $_SESSION è corretto..

    Cioè quello che mi so dimenticato di dire è che ovviamente il problema lo posso aggirare impostando una variabile di classe in sessionStart visto che là il session_id è visibile!

    Però vorrei capire questo strano funzionamento!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    up

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    up

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.