|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-12-19 22:15 UTC] yohgaki@php.net
[2002-01-09 02:04 UTC] lobbin@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 04 20:00:01 2025 UTC |
Session is unable to store an array of classes. If you try to add to an array (using []) stored in the session, it overrides the array instead of adding to it Here's a sample code: <? include_once("cls1.php"); if (!session_is_registered("ClassOne")) { session_register("ClassOne"); echo "<BR>ClassOne now in session"; } ?> <BR><B>Right now we have <?= sizeof($HTTP_SESSION_VARS["ClassOne"])?> classes</B>.<P> <? if ($HTTP_GET_VARS["count"] != 0) { for ($i = 0; $i < $HTTP_GET_VARS["count"]; $i++) { $HTTP_SESSION_VARS["ClassOne"][] = new ClassOne(); //this line should add to the array } } ?> <B>And now we have <?= sizeof($HTTP_SESSION_VARS["ClassOne"])?> classes</B>.<P> <form method="get" action="regcls.php"> Register <input type="text" name="count" size="3"> objects. <input type="submit"> </form> <PRE> <? if ($HTTP_GET_VARS["delete"] == 1) { echo "<BR>Killing CountOne from session..."; $HTTP_SESSION_VARS["CountOne"]=0; session_unregister("CountOne"); } for ($i=0; $i < sizeof($HTTP_SESSION_VARS["ClassOne"]); $i++) { echo "\n$i ClassOne->count = ". $HTTP_SESSION_VARS["ClassOne"][$i]->getCount(); } ?> </PRE> <? ?>