需要CodeIgniter帮助!视图未显示我传递的数组.出了什么问题


CodeIgniter help required! View not showing the array I passed. what went wrong?

控制器(blog.php)

<?php
class Blog extends CI_Controller{
    public function index ()
    {
        $this->load->model("blogvisitor");
        $user['users'] = $this->blogvisitor->logvisit();
        // print_r($data);
        $this->load->view("userslist",$user);   
    }   
}
?>

模型(blogvisiter.php)

<?php
class BlogVisitor extends CI_Model {
    public function logvisit()
    {
        return [
["fname"=>"john","lname"=>"doe"],["fname"=>"Johnny","lname"=>"Doe"]
                ];
    }
}
?>

视图(userlist.php)

<html lang="en">
<head>
    <title>Users List</title>
</head>
<body>
<h1>Users list</h1>
<table>
    <? foreach($users as $user): ?>
        <tr>
            <td><?= $user['fname'] ?> </td>
            <td><?= $user['lname'] ?></td>
        </tr>   
<? endforeach; ?>
</table>
</body>
</html>

错误

用户列表

遇到PHP错误

严重性:通知

消息:未定义的变量:用户

文件名:views/userslist.php

线路编号:10

遇到PHP错误

严重性:通知

消息:未定义的变量:用户

文件名:views/userslist.php

线路编号:11

将控制器更改为:

<?php
class Blog extends CI_Controller{
    public function index ()
    {
        $this->load->model("BlogVisitor");
        $user['users'] = $this->BlogVisitor->logvisit();
        // print_r($data);
        $this->load->view("userslist",$user);   
    }   
}
?>

和视图:

<html lang="en">
<head>
    <title>Users List</title>
</head>
<body>
<h1>Users list</h1>
<table>
    <?php foreach($users as $user): ?>
        <tr>
            <td><?= $user['fname'] ?> </td>
            <td><?= $user['lname'] ?></td>
        </tr>   
<?php endforeach; ?>
</table>
</body>
</html>

您必须像<?php ?>一样打开和关闭php,并且在引用模型时确保它区分大小写。

你必须像这样更改你的视图代码,

这条线路

<? foreach ($users as $user): ?>

<?php foreach ($users as $user): ?>
 ^

这条线

 <? endforeach; ?>

 <?php endforeach; ?>
   ^

所以最后的代码是

<html lang="en">
    <head>
        <title>Users List</title>
    </head>
    <body>
        <h1>Users list</h1>
        <table>
            <?php foreach ($users as $user): ?>
                <tr>
                    <td><?= $user['fname'] ?> </td>
                    <td><?= $user['lname'] ?></td>
                </tr>   
            <?php endforeach; ?>
        </table>
    </body>
</html>

用下面的脚本替换视图内部。或者,您可以从php.ini文件中打开短标记。

<html lang="en">
<head>
    <title>Users List</title>
</head>
<body>
<h1>Users list</h1>
<table>
    <?php foreach($users as $user): ?>
        <tr>
            <td><?= $user['fname'] ?> </td>
            <td><?= $user['lname'] ?></td>
        </tr>   
<?php endforeach; ?>
</table>
</body>
</html>