Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna sesyjna jako tablica dwuwymiarowa
Forum PHP.pl > Forum > PHP
gummmibear
Chcialbym przekazac do sessji tablice dwuwymiarowa:
  1. <?php
  2. $koszyk[0][0] = &#092;"MP3\";
  3.        $koszyk[0][1] = &#092;"69\";
  4.        
  5.        $koszyk[1][0] = &#092;"PMP\";
  6.        $koszyk[1][1] = &#092;"139\";          
  7.  
  8.  
  9.        session_register('koszyk');
  10. ?>


W drugim pliku odczytuje sobie owa tablice
  1. <?php
  2. $tablica = $_SESSION['koszyk'];
  3. ?>

I zamiast dwu wymiarowej tablicy, otrzymuje zwykla tablice ;/



Istnieje sposob przekazania do sessji tablicy dwuwymiarowej?
Lion_87
ale jak to? zobacz print_r($tablica);
gummmibear
sprawdzalem var_dump();


w pierwszym pliku tablica wyglada tak:

3array(2) { [0]=> array(2) { [0]=> string(7) "MP3 4GB" [1]=> string(2) "69" } [1]=> array(2) { [0]=> string(3) "PMP" [1]=> string(3) "139" } }

a po przekazaniu jej :

array(2) { [0]=> string(7) "MP3 4GB" [1]=> string(2) "69" }

googluje i jakos tego rozgrysc nie moge...
Lion_87
A jak ją przekazujesz/odczytujesz? Podaj więcej kodu.
gummmibear
Plik tworzaczy zmienna sesyjna

<?php
ob_start();
session_start();


?>
<?php
$id= $_GET['id'];
echo $id;


$dbuser = 'gummmibear';
$dbhost = 'localhost';
$dbpas = ';]';

$polaczenie = mysql_connect($dbhost, $dbuser, $dbpas);
mysql_select_db($dbuser);
mysql_query("SET NAMES utf8");


$sql = mysql_query("SELECT nazwa, cena FROM impotrequ WHERE id='$id'");
$wynik = mysql_fetch_row($sql);

$koszyk[0][0] = $wynik[0];
$koszyk[0][1] = $wynik[1];

$koszyk[1][0] = "PMP";
$koszyk[1][1] = "139";


session_register('koszyk');



var_dump($koszyk);


?>

<?php
ob_end_flush();
?>



Plik z odczytaniem wartosci


<?php
ob_start();
session_start();
?>

<?php
$tablica = $_SESSION['koszyk'];
var_dump($tablica);

?>



<?php
ob_end_flush();
?>

To wszystko.
Lion_87
No ale nadal nie rozumiem problemu
  1. <?php
  2.  
  3.  
  4. $koszyk[0][0] = 'aaa';
  5. $koszyk[0][1] = 'aaaaa';
  6.  
  7. $koszyk[1][0] = "PMP";
  8. $koszyk[1][1] = "139";
  9.  
  10.  
  11. $_SESSION['koszyk'] = $koszyk;
  12.  
  13.  
  14. print_r($koszyk);
  15.  
  16.  
  17. ?>


  1. <?php
  2.  
  3. $tablica = $_SESSION['koszyk'];
  4. print_r($tablica);
  5.  
  6. ?>


questionmark.gif
gummmibear
tworze tablice dwuwymiarowa .
session_register() <- rejstruje owa tablice

w drugim pliku odczytuje wartosc zmiennej przekazane, i zamiast tablicy dwuwymiarowej mam jednowymiarowa..

chce zrobic koszyk do sklepu, mysle ze tak bedzie najlepiej,


czy zastosowac cos innego?
Mephistofeles
Wywal session_register - bez register globals nie zadziała. Przekazuj tablicę bezpośrednio do $_SESSION, a nie przez zmienne globalne.
gummmibear
Mephistofeles

Dzieki wstydnis.gif

Dziala winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.