Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    74

    [PHP] Sessioni e supporto OOP

    Salve....
    Sto realizzando un'applicazione che necessita di gestione delle sessioni. In modo particolare avrei bisogno di poter salvare in sessione una classe contenente user e password...
    Qualcuno saprebbe dirmi se php permette la memorizzazione di oggetti in sessione???


    Grazie tante...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    certo, il php serializza l'oggetto(in automatico) e lo salva in sessione.

    L'unica accortezza che devi avere è quella di includere il file contenente la classe prima del session_start().

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    74
    Ho fatto come mi hai detto, però non funziona.

    Appena richiamo l'oggetto e cerco di eseguirne un metodo, compare questo errore:

    Fatal error: Call to a member function getUsername() on a non-object

  4. #4
    Originariamente inviato da Dork
    Ho fatto come mi hai detto, però non funziona.

    Appena richiamo l'oggetto e cerco di eseguirne un metodo, compare questo errore:

    Fatal error: Call to a member function getUsername() on a non-object
    devi utlilizzare
    unserialize

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Dork
    Ho fatto come mi hai detto, però non funziona.

    Appena richiamo l'oggetto e cerco di eseguirne un metodo, compare questo errore:

    Fatal error: Call to a member function getUsername() on a non-object
    Puoi postare un po' di codice?

    Comunque l'unserialize viene fatto in automatico da php.

    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    74
    grazie....

    Risolto...

    il comando unserialize è stato necessario renderlo esplicito

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Dork
    grazie....

    Risolto...

    il comando unserialize è stato necessario renderlo esplicito
    ma l'oggetto l'hai serializzato manualmente?

    Perchè altrimenti è il php a fare l'unserialize, ne sono sicuro...

  8. #8
    Originariamente inviato da gianiaz
    ma l'oggetto l'hai serializzato manualmente?
    Perchè altrimenti è il php a fare l'unserialize, ne sono sicuro...
    e si ha ragione gianiaz
    serialize1.php

    Codice PHP:
    <?php
    session_start
    ();
    class 
    A{
         public function 
    hello(){
        echo 
    "Hello";
        }
    }
    $_SESSION['a']= new A();
    ?>
    [url="serialize2.php"]qui[/url]
    serialize2.php

    Codice PHP:
    <?php
    session_start
    ();
    class 
    A{
         public function 
    hello(){
        echo 
    "Hello";
        }
    }
    $_SESSION['a']->hello();
    ?>
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da whisher
    e si ha ragione gianiaz
    serialize1.php

    Codice PHP:
    <?php
    session_start
    ();
    class 
    A{
         public function 
    hello(){
        echo 
    "Hello";
        }
    }
    $_SESSION['a']= new A();
    ?>
    [url="serialize2.php"]qui[/url]
    serialize2.php

    Codice PHP:
    <?php
    session_start
    ();
    class 
    A{
         public function 
    hello(){
        echo 
    "Hello";
        }
    }
    $_SESSION['a']->hello();
    ?>
    Non ti ha dato errori?

    Perchè in teoria la dichiarazione della classe dovrebbe stare prima del session_start, altrimenti se fai un print_r di $_SESSION dovresti vedere qualcosa tipo "uncomplete php object".

    ciao

  10. #10
    Originariamente inviato da gianiaz
    Non ti ha dato errori?

    Perchè in teoria la dichiarazione della classe dovrebbe stare prima del session_start, altrimenti se fai un print_r di $_SESSION dovresti vedere qualcosa tipo "uncomplete php object".

    ciao
    Non sono stato certo a testarla ma di errori non ne ho
    visti ho php 5.2 e error_reporting E_ALL | E_STRICT


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.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.