我已经发布了这个 in the CodeIgniter forum并且还耗尽了论坛搜索引擎,如果交叉发布不受欢迎,我们深表歉意。
基本上,我有一个输入,设置为 <input type="text" name="goal">
.根据用户的请求,他们可以添加另一个目标,这会向 DOM 抛出一个副本。我需要做的是在我的 CodeIgniter Controller 中获取这些值并将它们存储在 session 变量中。我的 Controller 目前是这样构造的:
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);
}
目前,很明显,我的 Controller 获取每个输入的值,在其唤醒时覆盖之前的值,只留下最终值的字符串。但是,我需要存储这些,以便在后续页面上打印它们。
我想我喜欢做的是扩展输入类,以便能够调用 $this->input->posts('goal')。最终我需要将其他数组存储到 session 值中。但我完全愿意接受实现建议。
非常感谢您提供的任何帮助。
最佳答案
你想在你的表单中使用它:
<input type="text" name="goal[]">
然后您可以通过以下方式获取 Controller 中的值:
$goal = $this->input->post('goal');
然后通过以下方式在 session 中设置变量:
$this->session->set_userdata('goal', $goal);
如果你想重新找回它。通过以下方式执行此操作:
$goal = $this->session->userdata('goal');
你会得到这样的东西:
$goal[0] = 'first goal';
$goal[1] = 'second goal';
请先尝试:)
关于php - 在 CodeIgniter session 中存储多个具有相同名称的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862135/