Hesha Ответов: 0

Как передать значения флажка multipal из представления в контроллер (используя работу фрейма code igniter)


Я попытался изучить фреймворк CodeIgniter, используя учебник, предоставленный веб-сайтом.
но когда я попытался передать значения состояния флажка из представления в контроллер, он был отображен следующим образом ошибка msg.

Цитата:
Была обнаружена ошибка PHP

Серьезность: Предупреждение

Сообщение: недопустимый аргумент, предоставленный для foreach()

Имя файла: controllers/Todos.php

Номер Строки: 29



Когда я отслеживаю, что это происходит из-за инициализации цикла foreach. Тогда я эхом повторяю:

Эхо $completed_todos;
echo $completed_todos[0];
echo $completed_todos[1]; — нет значения;


и посмотрите, возвращает ли он значения. Но он должен возвращать только одно значение и, возможно, не в виде массива ( у меня есть более одного завершенного todos.)

Не могли бы вы помочь мне решить эту проблему? Это было бы большим подспорьем для меня.


Цитата:
Вид :индекс


<!DOCTYPE html>
<html lang="en">
<голова>
<meta charset="utf-8">
в <название>в простой фреймворк Codeigniter приложение - Тодос - &ЛТ;/название&ГТ;
<link rel="таблица стилей"
href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<тело>


<div class="контейнер">

<?php echo form_open('todos/update_completed'); ?>

<h1>Todos</h1>

<div class="list-group">
<?php foreach ($todos as $todo) { ?>
<div class="list-group-item clearfix">
<?php
Эхо form_checkbox('завершено', $Тодо-&ГТ;ИД., $Тодо-&ГТ;завершен);
?>
<?php echo $todo->task; ?>

</div>

<?php } ?>
&л;тип кнопки="Отправить" класс="БТН БТН-первичный"и gt;Обновление&ЛТ; кнопка/&ГТ;
<?php echo form_close(); ?>


</div><!-- /.container -->

</body>
</html>


Цитата:
Код контроллера Todos

&ЛТ;?PHP, если ( ! определенными('базового маршрута')) выход('прямой доступ к скрипту животных);

класс Todos расширяет CI_Controller {

публичная функция __конструкция() {
родитель::__конструкция();

// Загрузить модель, чтобы сделать ее доступной
// для *всех* действий контроллера
$this->load->model('Todo_model');
$это-&ГТ;нагрузка-&ГТ;помощник('форма');
}

индекс публичных функций()
{
// 1. Загрузите данные:
$all_todos = $это-&ГТ;Todo_model-&ГТ;get_all_entries();
// 2. Сделайте данные доступными для просмотра
$массив данных();
$данных['Тодос'] = $all_todos;
// 3. Визуализация вида:
$это-&ГТ;нагрузка-&ГТ;вид('Тодос/индекс', $данных);
}

общественные функции update_completed() {

$completed_todos = $this->input->post('завершено');
Эхо $completed_todos;
по каждому элементу ($completed_todos как $todo_id) {
эхо 'и задач с ID =' . $todo_id
. ' помечается как завершенный.<br>';
}
}



}


Большое вам спасибо за помощь.
Спасибо.
В хэшань

Что я уже пробовал:

Когда я отслеживаю, что это происходит из-за инициализации цикла foreach. Тогда я эхом повторяю:

Эхо $completed_todos;
echo $completed_todos[0];
echo $completed_todos[1]; — нет значения;


и посмотрите, возвращает ли он значения. Но он должен возвращать только одно значение и, возможно, не в виде массива ( у меня есть более одного завершенного todos.)

Не могли бы вы помочь мне решить эту проблему? Это было бы большим подспорьем для меня.

0 Ответов