PHP: 在视图中显示会话变量:CodeIgniter

PHP: Display Session variable in View: CodeIgniter

如标​​题中所述,我尝试在登录后在视图部分发送会话变量, 会话包含比方说 nameemail.

所以我在配置文件控制器部分尝试的如下:

class ProfileController extends Controller{
public function index()
{ 
    $session = session();

    $userDetails = ['name' => $session->get('name'),
                     'email' => $session->get('email')];
    print_r($userDetails);
    echo view('profile', $userDetails); 
}

}

尽管我能够在控制器部分打印 $userDetails 值,但我在 VIEW 中尝试的相同内容却没有给我任何结果。

这是我的 profile.php 代码。

<h3>Welcome to the Profile Section : <?php echo $userDetails['name']; ?></h3>
<p>Your email id : <?php echo $userDetails['email'] ; ?></p>

我得到的输出是:

如果我遗漏了什么,请纠正我,因为我是 PHP 框架的新手。

在您的视图中,您将只拥有名为索引的数组,因为它们被转换为变量。

所以 $userDetails['name'] 变成 $name 并且 $userDetails['email'] 变为 $email

所以在你的情况下。 而不是

<h3>Welcome to the Profile Section : <?php echo $userDetails['name']; ?></h3>
<p>Your email id : <?php echo $userDetails['email'] ; ?></p>

你会的。

<h3>Welcome to the Profile Section : <?php echo $name; ?></h3>
<p>Your email id : <?php echo $email ; ?></p>

并且您可以将 <?php echo 替换为较短的版本 <?=

<h3>Welcome to the Profile Section : <?= $name; ?></h3>
<p>Your email id : <?= $email ; ?></p>

我强烈建议阅读 CodeIgniter 用户指南,因为它涵盖了这一点以及框架所做的一切。所以熟悉一下就好了。

您可以使用 compact 函数支持 laravel 从您的变量创建数组,return 您想要的视图

 return view('profile', compact('name','mail'));

在视图中,您可以像这样通过 {{$name}} 调用它:

 <h3>Welcome to the Profile Section : {{$name}}></h3>