我怎么回应这个session数组的特定部分?

问题描述 投票:1回答:2

当试图打印/呼应我的会话阵列的特定部分,它不会返回任何东西,除了一个“1”

它也给出了一个错误,告诉我,user_name是一个未定义的指数,但是当我var_dump我的会议就说明它的存在。

什么是只显示我的屏幕会话的user_name部分的正确方法是什么?

我试过print_rechoprint但这些都不似乎工作

session_start();

include '../php/database.php';
var_dump($_SESSION['userdata']);
echo "Welcome back " . print_r($_SESSION['userdata']['user_name'][0]) . "!";

我希望可以将输出为“欢迎回来USER_NAME”在这种情况下应该是文本字符串“空”

的var_dump:

array(1) { [0]=> array(1) { [0]=> array(8) { ["user_id"]=> string(1) "1" [0]=> string(1) "1" ["user_name"]=> string(5) "empty" [1]=> string(5) "empty" ["user_pass"]=> string(5) "empty" [2]=> string(5) "empty" ["user_email"]=> string(17) "[email protected]" [3]=> string(17) "[email protected]" } } }

产量

注意:未定义指数:USER_NAME在C:\ XAMPP \ htdocs中\ Projecten \ loginSystem \网页\线路7 dashboard.php欢迎回来1!

php arrays session echo
2个回答
1
投票

至于你提到你的会话数据是这样的:

array(1) {
    [0]=> array(1) { 
        [0]=> array(8) { 
            ["user_id"]=> string(1) "1" [0]=> string(1) "1" 
            ["user_name"]=> string(5) "empty" [1]=> string(5) "empty" 
            ["user_pass"]=> string(5) "empty" [2]=> string(5) "empty" 
            ["user_email"]=> string(17) "[email protected]" [3]=> string(17) "[email protected]" 
        } 
    } 
}

为了得到USER_NAME,您必须通过您的数组作为去旅行:

echo $_SESSION['userdata'][0][0]['user_name'];

2
投票

有2个阵列在会话中做这种方式:

echo "Welcome back " . print_r($_SESSION['userdata'][0][0]['user_name']) . "!";
© www.soinside.com 2019 - 2024. All rights reserved.