功能覆盖sessaion细节

weired thing -

I create session with user details (userID, userName, etc) in the LOGIN part .

$_SESSION['userDetails'] = array("userID" => $index['id'], "userTitle" =>  $index['title'], "userName" => $index['name'], "userIP" => getenv("REMOTE_ADDR") );

than I create function that pull user details from the DB and insert them in the same variable name as my session. that make my session lose it values! how come?

$userDetails =  get_user_details ($_SESSION['userDetails']['userID'], "");
function get_user_details ($userID, $parameter)
{   
    $query = mysql_query("SELECT * FROM `users` WHERE (id = '$userID')");
    $index = mysql_fetch_array($query);

    if (empty($parameter))
        return ($index);
    else 
        return ($index[$parameter]);
}

does variable and session are the same thing/object?

I mean - does $_SESSION['userDetails'] = $userDetails ???

Thanks

If you are using an old version of PHP it may be the case. If register_globals (php.ini) is set to ON, this will be also the case.

Edit : Of course, setting this variable to ON is NOT recommanded. You may have security issue.