I've searched and debuges fruitlessly for the past hour and a half, so maybe someone here can help me solve my problem.

I've created an array, stored values in said array, and then when recalling the values, they seem to have disappeared. They are registered, because the code in the if (session_is_registered(...)) executes, but the valued are null. Here's a snippet of the code...

        session_start();
        $access_array			=	set_access_levels("Phantazm");
	$message['header']		=	"<FONT COLOR=#20FF20 SIZE=-2 FACE=ARIAL><CENTER>";
	$message['footer']		=	"</CENTER></FONT>";
	$message['member']		=	"Site Member";
	$message['emailuser']		=	"Email Account";
	$message['trustee']		=	"Trusted";
	$message['staff']		=	"Staff Member";
	$message['fullview']		=	"View All Pictures";
	$message['moderator']		=	"Administrator'";
	$message['passwordlookup']	=	"Lookup Passwords";
	$message['adjustcounter']	=	"Adjust Hit Counter";
	$message['newpoll']		=	"Change Poll";
	$message['usermodify']		=	"Modify User Profiles";
	$message['viewlogs']		=	"View Site Logs";
	$message['webmaster']		=	"Webmaster";
	$message['DBAdmin']		=	"Database Administrator";
	$message['debug']		=	"In Debug Mode";
        $message			=	array($message);
	session_register("message");

That's the code that registers the variables and assigns string values to them. The following code needs to retrieve the values from the array, but the variables are enpty....

      session_start();
      if (session_is_registered('message'))
      {
        $messages			=	array($_SESSION['message']);
        if ($messages['emailuser'])
	{
	  $stuff			.=	"<OPTION VALUE=\"go_email\">".$messages['emailuser'];
        }
        if ($messages['moderator'])
        {
          $stuff			.=	"<OPTION VALUE=\"go_moderate\">".$messages['moderator'];
        }
        $stuff				.=	"</SELECT></FORM>";
        $returndata			=	$stuff;
      }

I know this code gets executed because when I insert a debug "echo" statement, it works.. but the variables such as $messages['moderator'] are null.

I'm sure it's something simple I'm overlooking and I'll slap myself in the face when someone tells me what I've done wrong.. but I'm at my ropes end. (And by posting this, I'll probably jinx myself into solving it on my own.. as it usually happens... hehe)

🙂

Thanks in advance for any help....

    On the "receiving" end:

    session_start();
    $emailuser = $message['emailuser'];

    that is, no need for $_SESSION and Array() -- it already is an array, so why are you trying to convert it into one?

      That's just the most recent version in a futile attempt to accomplish my goal. I've made the appropriate edits to reflect the script as it is right now.

        Used a multi-dimensional (sp?) array to solve my problem! Works like a charm! 🙂

            if ($thecommand=="member_select_array")
            {
              $stuff				=	"<FORM ACTION=".get_config('member_options').">";
              $stuff				=	$stuff."<SELECT NAME=\"memberoptions\" SIZE=\"1\" VALIGN=\"top\">";
              session_start();
              if (session_is_registered('message'))
              {
                if ($_SESSION['message']['emailuser'])
        	{
        	  $stuff			.=	"<OPTION VALUE=\"go_email\">".$_SESSION['message']['emailuser'];
                }
        
            if ($_SESSION['message']['moderator'])
            {
              $stuff			.=	"<OPTION VALUE=\"go_moderate\">".$_SESSION['message']['moderator'];
            }
            $stuff				.=	"</SELECT></FORM>";
            $returndata			=	$stuff;
          }
        }
        if ($thecommand=="access_level")
        {
          if (!session_is_registered('UNAME'))
          {
            $returndata="How'd you get here?<br>Logged by the way...";
          }
          else
          {
            $access_array			=	set_access_levels("Phantazm");
        
        $_SESSION['message']['header']		=	"<FONT COLOR=#20FF20 SIZE=-2 FACE=ARIAL><CENTER>";
        $_SESSION['message']['footer']		=	"</CENTER></FONT>";
        $_SESSION['message']['member']		=	"Site Member";
        $_SESSION['message']['emailuser']	=	"Email Account";
        $_SESSION['message']['trustee']		=	"Trusted";
        $_SESSION['message']['staff']		=	"Staff Member";
        $_SESSION['message']['fullview']	=	"View All Pictures";
        $_SESSION['message']['moderator']	=	"Administrator'";
        $_SESSION['message']['passwordlookup']	=	"Lookup Passwords";
        $_SESSION['message']['adjustcounter']	=	"Adjust Hit Counter";
        $_SESSION['message']['newpoll']		=	"Change Poll";
        $_SESSION['message']['usermodify']	=	"Modify User Profiles";
        $_SESSION['message']['viewlogs']	=	"View Site Logs";
        $_SESSION['message']['webmaster']	=	"Webmaster";
        $_SESSION['message']['DBAdmin']		=	"Database Administrator";
        $_SESSION['message']['debug']		=	"In Debug Mode";
            $returndata			=	"<A HREF=".get_config('member_link')." STYLE=\"text-decoration: none\">".$message['header']."Hello Member".$message['footer']."</A>";
          }
        }
        

          that is what i told you to do, and fyi, your final source is not a multi-dimensional array.

            Oh, yuck; don't go mixing session_is_registered('message') and $SESSION['message'] like that - you'll end up getting confused later on. Just see if $SESSION['message'] isset() or not.

              Write a Reply...