php - 在 CodeIgniter session 中存储多个具有相同名称的输入

标签 php codeigniter foreach

我已经发布了这个 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/

相关文章:

php - 对齐下面的两个按钮

PHP PDO - 关闭语句 - 不能创建超过 max_prepared_stmt_count 个语句

javascript - Codeigniter 中的 JQuery Ajax POST 不起作用

php - 使用数组和foreach检索多个数据并插入多个数据

php - 使 CSS 中半消失的元素可见

php - 在 php 中运行两个选择查询并将其编码为 json 格式?

php - Codeigniter 中 mysql 查询的奇怪问题

mysql - Codeigniter 用不同的值更新表列

java - 管理具有多个结果的 Java 8 流的最佳实践是什么

php - 为 foreach() 提供的参数无效