Even een korte vraag.

Als ik in mijn PHP applicatie $_SESSION['var'] = array('dit' => $dat) zet, krijg ik het niet uitgelezen met $_SESSION['var']['dit']. Iemand een idee hoe dit komt, zelf kom ik er niet meer uit
Hoe ziet jouw code er uit?
Waarom doe je het dan niet zo?

<?php
$_SESSION['var']['dit'] = $dat;
?>

Maar het zou gewoon moeten werken.
Probeer dit eens, en geef het resultaat (wat er staat op het scherm) eens:

<?php
$dat = 'test';
$array = array('dit' => $dat);
$_SESSION['var'] = $array;

echo '<pre>'.print_r($array, true).'<br>'.print_r($_SESSION).'</pre>';
?>
@Eddy Erkelens, je mist nog sesstion_start(); bovenaan neer te zetten.
@GaMer13: Nee, session_start() vergeet ik niet ;). Ik ben al best een tijdje bezig met php maar sinds kort pas actief hier.

Mijn code is als volgt:


<?php

session_start();

$_SESSION['userinfo'] = array('username' => $row['username']); // hier komt normaal nog wat achteraan

?>


In de andere pagina staat bijv. dit:


<?php

session_start();

echo $_SESSION['userinfo']['username'];

?>

Bij mij geeft dit gewoon niks, leeg.
Is $row['username'] wel gevuld?

Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Je kunt een array niet rechtstreeks echoën. Probeer eens:
<?php
session_start();
print_r ($_SESSION['userinfo']['username']);
?>
Edit: verkeerd gelezen. Zie reaktie SanThe.
Ja, die is wel ingevuld ja.

Als ik de code van Eddy Erkelens gebruik, krijg ik de gewone output zoals het zou horen.


Array
(
    [dit] => test
)

1


Ik ga alles gewoon NOG een keer nakijken....

Reageren