У меня проблемы с попыткой получить и отобразить всех зарегистрированных пользователей из базы данных на странице index.php в проекте php mvc, предназначенном для обучения.Проблема в том, что когда я не вошел в систему, я получаю ошибку
Notice: Undefined variable: users in C:\xampp\htdocs\php\App\Controllers\UserController.php
, но когда я вошел в систему, я получаю ту же ошибку, но тогда неопределенной переменной является 'имя'.Я пытался найти сообщения с похожими ошибками, но мне не удалось решить эту проблему.Любая помощь приветствуется.Вот часть моего кода
UserController
<?php
namespace App\Controllers;
use App\Models\User;
use Core\Controller;
class UserController extends Controller
{
public function __construct($controller, $action)
{
parent::__construct($controller, $action);
$this->UserModel = $this->load_model('User');
}
public function createUserSessionAction($user)
{
$_SESSION['user_id'] = $user->id;
$_SESSION['user_email'] = $user->email;
$_SESSION['user_name'] = $user->name;
redirect('home/index');
}
public function indexAction()
{
if (!empty($_SESSION['user_name'])) {
$users = $this->UserModel->findAllUsersByName($name);
}
$this->view->render('users/index', $users);
}
Пользователь
<?php
namespace App\Models;
use Core\Database;
class User
{
private $db;
public function __construct()
{
$this->db = new Database();
}
public function findAllUsersByName($name)
{
$this->db->query('SELECT * FROM users WHERE name = :name');
$this->db->bind(':name', $name['name']);
$row = $this->db->resultSet();
if ($this->db->rowCount() > 0) {
return true;
} else {
return false;
}
}
}
index.php
<?php
use App\Models\User;
$users = new User;
?>
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $user): ?>
<tr>
<td><?php echo $user->id; ?> </td>
<td><?php echo $user->name; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
Я хотел бы иметь возможностьотображать имена всех зарегистрированных пользователей из базы данных.