Avatar billede ellebaek Nybegynder
13. december 2004 - 11:45 Der er 8 kommentarer og
2 løsninger

object i session

Jeg rodder med en hjemmeside hvor jeg benytter en del forskellige objecter.
Disse objecter bliver genereret på forsiden som inkludere alle undersider..
Når jeg så skifter side bliver et nyt object genereret..

Dette vil jeg gerne forhindre og vil i den anledning gerne smide objectet ind i en session som jeg så kan hive ud fra senere..

jeg har prøvet følgende:

<?
session_start();
if (!$_SESSION['db_connection']) {
    include("db_connection.php");
    $db_connection = new db_connection();
    //$_SESSION['db_connection'] = serialize($db_connection);
    $_SESSION['db_connection'] = $db_connection;
}
else {
    //$db_connection = unserialize($_SESSION['db_connection']);
    $db_connection = $_SESSION['db_connection'];
}
?>

Jeg har så prøvet både med og uden serialize...
uden serialize får jeg følgende fejl...

Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition <b>user</b> of the object you are trying to operate on was loaded _before_ the session was started in /var/www/html/jens/iarbtest/checklogin.php on line 15

user er afhængig af db_connection..
Avatar billede iss Novice
13. december 2004 - 12:37 #1
If you are using sessions and use session_register() to register objects, these objects are serialized automatically at the end of each PHP page, and are unserialized automatically on each of the following pages. This basically means that these objects can show up on any of your pages once they become part of your session.
Avatar billede coderdk Praktikant
13. december 2004 - 12:50 #2
Prøv lige at smide din include øverst...
Avatar billede ellebaek Nybegynder
13. december 2004 - 13:33 #3
øjeblik...

vender tilbage snarrest..
Avatar billede coderdk Praktikant
13. december 2004 - 13:38 #4
Som iss skriver:

  session_register( $db_connection );

Husk! Fra sitet: "It is currently impossible to register resource variables in a session. For example, you cannot create a connection to a database and store the connection id as a session variable and expect the connection to still be valid the next time the session is restored."
Avatar billede ellebaek Nybegynder
13. december 2004 - 13:41 #5
okay..
Super..

Jeg tror jeg dropper den mulighed igen.
Det er vidst alligevel ikke det store det hjælper i performance at gøre det på den måde..

Men smid et svar begge 2..
Avatar billede iss Novice
13. december 2004 - 13:51 #6
Jeg har ellers et shopping system, hvor jeg gemmer carten som et object i sessionen.... virker fint.
Avatar billede ellebaek Nybegynder
13. december 2004 - 14:15 #7
Hmm..

Hvordan ser det ud..?
hvis jeg må være så fri.. ;-)
Avatar billede coderdk Praktikant
13. december 2004 - 14:24 #8
:)
Avatar billede iss Novice
13. december 2004 - 15:40 #9
Jeg har lavet det som det du har nu, dog med en "session_register('db_connection');" i min include fil, hvor jeg så starter min session i.
Avatar billede ellebaek Nybegynder
14. december 2004 - 09:48 #10
okay super..

Takker for hjælpen begge 2..
Jeg prøver mig lidt frem..!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester