Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Oggetto in variabile di sessione

    Salve a tutti. C'è un modo per mettere un oggetto in una variabile di sessione?

    Perchè l'perazione di asseganzione dell'oggetto alla variabile di sessione me lo fa fare. Per intenderci
    Codice PHP:
    $_SESSION["obj"]= new Obj 
    Ma quando vado a richiamare i metodi di Obj (
    Codice PHP:
    $_SESSION["obj"]->method() 
    ) allora mi da il seguente errore:
    codice:
    Fatal error: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "User" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\xampp\htdocs\prove\provaUser.php on line 20
    Spero in una vostra risposta. Grazie 1000 in anticipo.
    Why so serious?????

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    io serializzerei l'oggetto prima di usarlo e per recuperarlo:

    Codice PHP:
    $OBJ = ((isset($_SESSION['obj']))?(unserialize($_SESSION['obj'])):(new Obj));
    // ...
    // ...
    // ...
    $_SESSION['obj'] = serialize($OBJ); 

  3. #3
    Funziona!!! Grazie 1000!
    Why so serious?????

  4. #4
    Utente di HTML.it L'avatar di phpeer
    Registrato dal
    Feb 2012
    Messaggi
    76
    potresti vederlo come una parola

    Codice PHP:
    $_SESSION['obj'] = "parola"

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    de nada...

  6. #6
    Scusate se uppo questa discussione, ma non riesco a capire dove sbaglio, perché a me non funge...


    mia classe

    Codice PHP:
    <?php
    class pippo {
        public 
    $testo 'ciao'
    }
    ?>

    mia pagina 1

    Codice PHP:
    <?php

    session_start
    ();
    include 
    "cls_pippo.php";

    $OBJ = ((isset($_SESSION['obj']))?(unserialize($_SESSION['obj'])):new pippo()); 
    $_SESSION['obj'] = serialize($OBJ);

    echo 
    'Test da Oggetto in Sessione: '$_SESSION['obj']->testo;

    ?>
    [url="2.php"]VAI a PAGINA 2[/url]

    mia pagina 2
    Codice PHP:
    <?php

    session_start
    ();
    include 
    "cls_pippo.php";

    $OBJ = ((isset($_SESSION['obj']))?(unserialize($_SESSION['obj'])):new pippo()); 
    $_SESSION['obj'] = serialize($OBJ);

    echo 
    'Test da Oggetto in Sessione: '$_SESSION['obj']->testo;

    ?>
    [url="1.php"]VAI a PAGINA 1[/url]

    Entrambe le pagine restituiscono il seguente ERRORE:


    [Notice: Trying to get property of non-object in /miosito/prova_obj/2.php on line 16
    (linea 16 è quella con l'echo)




    Dove sbaglio?

    Grazie
    1,2,3,4,5,10,100 passi!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da i_am_antipop
    Scusate se uppo questa discussione, ma non riesco a capire dove sbaglio, perché a me non funge...


    mia classe

    Codice PHP:
    <?php
    class pippo {
        public 
    $testo 'ciao'
    }
    ?>

    mia pagina 1

    Codice PHP:
    <?php

    session_start
    ();
    include 
    "cls_pippo.php";

    $OBJ = ((isset($_SESSION['obj']))?(unserialize($_SESSION['obj'])):new pippo()); 
    $_SESSION['obj'] = serialize($OBJ);

    echo 
    'Test da Oggetto in Sessione: '$_SESSION['obj']->testo;

    ?>
    [url="2.php"]VAI a PAGINA 2[/url]

    mia pagina 2
    Codice PHP:
    <?php

    session_start
    ();
    include 
    "cls_pippo.php";

    $OBJ = ((isset($_SESSION['obj']))?(unserialize($_SESSION['obj'])):new pippo()); 
    $_SESSION['obj'] = serialize($OBJ);

    echo 
    'Test da Oggetto in Sessione: '$_SESSION['obj']->testo;

    ?>
    [url="1.php"]VAI a PAGINA 1[/url]

    Entrambe le pagine restituiscono il seguente ERRORE:


    [Notice: Trying to get property of non-object in /miosito/prova_obj/2.php on line 16
    (linea 16 è quella con l'echo)




    Dove sbaglio?

    Grazie
    Devi recuperare l'oggetto serializzato dalla sessione non il contrario

    es.
    Codice PHP:
    session_start();

    include 
    "cls_pippo.php";

    $_SESSION['obj'] = serialize(new pippo()); 

    $OBJ = (isset($_SESSION['obj'])) ? unserialize($_SESSION['obj']) : new pippo();  

    echo 
    'Test da Oggetto in Sessione: '$OBJ->testo

  8. #8
    Originariamente inviato da RoTeam
    Devi recuperare l'oggetto serializzato dalla sessione non il contrario

    es.
    Codice PHP:
    session_start();

    include 
    "cls_pippo.php";

    $_SESSION['obj'] = serialize(new pippo()); 

    $OBJ = (isset($_SESSION['obj'])) ? unserialize($_SESSION['obj']) : new pippo();  

    echo 
    'Test da Oggetto in Sessione: '$OBJ->testo
    Grazie mille davvero!!!!!


    Spettacolo!! funziona!!!





    1,2,3,4,5,10,100 passi!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da i_am_antipop
    Grazie mille davvero!!!!!


    Spettacolo!! funziona!!!





    nulla

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.