I’m using hidden forms to pass variables between pages (using POST). It’s working fine for scalar variables; however, when I try to use arrays I’ve supposedly passed, it looks like the value I’m actually getting is “Array”.
I’ve searched the internet looking for a solution, and this looked promising, but I don’t know if it’s feasible considering that my arrays contain other arrays.
Then I saw the serialize function and hoped that might work, but it’s not working. I tried this fix but it’s still not working. Here’s my code on the form page:
$sendInfo = base64_encode(serialize($info));
echo '<input type="hidden" name="info" id="info" value="'.$sendInfo.'"/>';
Then on the processing page:
$info = unserialize(base64_decode($_POST['info']));
Can anyone know why this isn’t working? Is there a fix, or do you have another recommendation for passing the array?
I recommend using Sessions. It’s easy
Page 1:
Page 2:
should that not work for you because of some odd reason, instead of using serialise, use json_encode and json_decode.
Page 1:
Page 2:
$info = (array) json_decode(base64_decode($_POST[‘info’]));
var_dump($info);
You may find that some of info has now turned into objects. JSON doesn’t support associative arrays (the ones with words as a key) and so it turns them into objects. I’ve type casted it to an array but this will only typecast it at the top level. If you want to recursively typecast use “object2array”. See my first googled result:
http://www.jonasjohn.de/snippets/php/array2object.htm