array in session speichern

girl2005

Erfahrenes Mitglied
hallo,

Ich versuch ein array in session zu speichern.

ich schreibe:
PHP:
<?php session_start();
$liste = array();
$liste[] = $listen;
session_register("liste");

und weiter schreibe ich:
PHP:
[if(isset($_GET[id])  ){

...Datenbank abfrage..

$liste = array( $_GET[id], $row['name'] ) ;

array_push($listen, $liste);


}

und dann, um die Elemente des Arry auszugeben, schreibe ich:
PHP:
<? foreach($listen as $element) {?> 
.....
} ?>

aber dann bekomme ich diese Fehlermeldungen:
array_push() [function.array-push]: First argument should be an array
Invalid argument supplied for foreach() in

ich verstehe nicht earum das Programm nicht versteht dass $listen ein array ist.

Danke für jede Hilfe.
 
Ich weiss nicht wo das $listen im ersten Beispiel her kommt - in der Session speicherst du hingegen die Variable $liste - ich denke, $listen ist schlichtweg nicht definiert an der Stelle wo Du den array_push() machst?
 
hi Gambo,

könntest du mir ein kleins Beispiel geben, wie ich damit arbeiten kann..

hi tanmar,

$listen ist die array von dem array also: $listen = $liste[]
 
PHP:
session_start();

$listen = array('bla' => 1, 'blubb' => 'schnick', 4);
$_SESSION['liste'] = $listen;
 
Prinzipiell kann die $_SESSION-Variable wie jede andere (vordefinierte) Variable behandelt werden. Der einzige Unterschied ist, dass dessen Inhalt nach der Laufzeit des Skriptes serverseitig gespeichert wird und somit später nach erfolgreicher Authentifizierung wieder verfügbar ist.
 
hallo zusammen,

das ist mir alles irgendwie schwierig zu verstehen:-(
ich brauche nur ein kleines Programm wie ich den array in einer Session speichern kann.
ich habe das versucht:

PHP:
<?php
session_start();
$v = array(1,2,3);
$_SESSION['b'][] = $v;
print_r($v);
?>

aber dann bekomme ich:
Array ( [0] => 1 [1] => 2 [2] => 3 )

ich möchte :
Array([0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) ) bekommen.

Hilfe!!:confused:
 
girl2005 hat gesagt.:
hallo zusammen,

das ist mir alles irgendwie schwierig zu verstehen:-(
ich brauche nur ein kleines Programm wie ich den array in einer Session speichern kann.
ich habe das versucht:

PHP:
<?php
session_start();
$v = array(1,2,3);
$_SESSION['b'][] = $v;
print_r($v);
?>
aber dann bekomme ich:
Array ( [0] => 1 [1] => 2 [2] => 3 )

ich möchte :
Array([0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) ) bekommen.

Hilfe!!:confused:

das dort rauskommt Array ( [0] => 1 [1] => 2 [2] => 3 ) ist ja auch logisch denn das Array hast ja auch selber so angelegt $v = array(1,2,3);

Wenn solltest Du

print_r($_SESSION['b']); machen um das richtige Ergebniss zu erhalten.
 
Zurück