Хранение нескольких входов с одним и тем же именем в сеансе CodeIgniter - PullRequest
3 голосов
/ 19 мая 2010

Я разместил это на форуме CodeIgniter и также исчерпал поисковую систему форума, поэтому извиняюсь, если кросс-публикация осуждается.

По сути, у меня есть один вход, настроенный как <input type="text" name="goal">. По запросу пользователя они могут добавить другую цель, которая выбрасывает дубликат в DOM. Что мне нужно сделать, это захватить эти значения в моем контроллере CodeIgniter и сохранить их в переменной сеанса. Мой контроллер в настоящее время построен так:

function goalsAdd(){
    $meeting_title = $this->input->post('topic');
    $meeting_hours = $this->input->post('hours');
    $meeting_minutes = $this->input->post('minutes');
    $meeting_goals = $this->input->post('goal');
    $meeting_time = $meeting_hours . ":" . $meeting_minutes;

    $sessionData = array(
        'totaltime' => $meeting_time,
        'title' => $meeting_title,
        'goals' => $meeting_goals
    );

    $this->session->set_userdata($sessionData);
    $this->load->view('test', $sessionData);
}

В настоящее время, очевидно, мой контроллер получает значение каждого входа, записывая поверх предыдущих значений, оставляя только строку конечного значения. Однако мне нужно хранить их, чтобы я мог распечатать их на следующей странице.

То, что я хотел бы сделать, - это расширить класс ввода, чтобы можно было вызывать $ this-> input-> posts ('goal'). В конце концов мне нужно будет хранить другие массивы в значениях сеанса. Но я полностью готов к реализации.

Большое спасибо за любую помощь, которую вы можете оказать.

1 Ответ

6 голосов
/ 19 мая 2010

Вы хотели бы использовать это в своей форме:

<input type="text" name="goal[]">

Затем вы можете получить значения в контроллере с помощью:

$goal = $this->input->post('goal');

А затем установите переменную в сеансе с помощью:

$this->session->set_userdata('goal', $goal);

Если вы хотите получить его снова. сделать это через:

$goal = $this->session->userdata('goal');

У вас будет что-то вроде этого:

$goal[0] = 'first goal';
$goal[1] = 'second goal';

Пожалуйста, попробуйте сначала:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...