Avatar billede cen Nybegynder
24. august 2005 - 19:12 Der er 9 kommentarer og
1 løsning

gem array, til brug senere.

Hej
Jeg vil høre om der er nogle der kan fortælle mig hvordan jeg kan gemme et array, så jeg kan hente det igen på en senere side.
Mit probleme er at både sessions, og cookies giver fejlmeddelelse når man prøver at gemme et array.
Hva gør man så?

Christian
Avatar billede coderdk Praktikant
24. august 2005 - 19:23 #1
Session burde ikke give problemer, men prøv:

session_start();
$_SESSION['array'] = serialize( $ditarray );

og senere:

session_start();
$ditarray = unserialize( $_SESSION['array'] );
Avatar billede coderdk Praktikant
24. august 2005 - 19:24 #2
(Sessions skal selv serialize og unserialize)
Avatar billede udvikler Nybegynder
24. august 2005 - 19:27 #3
først laver du index.php med følgene indhold:

<?php
$SESSION['$test'] = array("bla", "bla", "bla", "bla");
?>

så laver du denne fil test.php med dette indhold:

<?php
session_start();
echo "Se nu virker det :)";
?>
Avatar billede udvikler Nybegynder
24. august 2005 - 19:27 #4
Argh.. du var lidt hurtiger.. damn.. 3 min forsinket :S
Avatar billede cen Nybegynder
24. august 2005 - 19:40 #5
session_start();
if (!$_SESSION[cart]) {
  session_register('cart');
  $cart = new Cart;
  } else {
  $cart = $_SESSION[cart];
  }

sådan ser mit script ud..

Og fejlen ser sådan ud:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Avatar billede cen Nybegynder
24. august 2005 - 19:42 #6
det er sefl kun første gang man loader siden, altså når man registrerer sessionen, at den brokker sig.
Scriptet virker også som det skal, men ja, den skulle helst ikke komme med fejl.
Avatar billede coderdk Praktikant
24. august 2005 - 19:49 #7
require_once( 'din_cart_class.php' ); // <- Vigtigt!

  session_start();

  if ( !isset( $_SESSION['cart'] ) )
  {
      $_SESSION['cart'] = new Cart;
  }
  else
  {
      $cart = $_SESSION['cart'];
  }
Avatar billede coderdk Praktikant
24. august 2005 - 19:54 #8
Evt. hvis du også vil tilgå $_SESSION['cart'] med andet end den variabel:

  if ( !isset( $_SESSION['cart'] ) )
  {
      $_SESSION['cart'] = new Cart;
      $cart = &$_SESSION['cart'];
  }
  else
  {
      $cart = $_SESSION['cart'];
  }
Avatar billede cen Nybegynder
24. august 2005 - 20:10 #9
mange tak :) ligger du ikke et svar?
og en evt. forklaring på, hvad jeg havde gjort galt?
Avatar billede coderdk Praktikant
24. august 2005 - 20:40 #10
session_register virker kun rigtigt hvis du har register_globals sat til...
Det er i hvert tilfælde sådan jeg forstår det.
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