重定向后如何记住CodeIgniter(CI)中的输入表单数据而不是再次进入同一页面

Posted

技术标签:

【中文标题】重定向后如何记住CodeIgniter(CI)中的输入表单数据而不是再次进入同一页面【英文标题】:How to remember input form data in CodeIgniter (CI) after redirect than come again to same page 【发布时间】:2020-01-26 10:18:24 【问题描述】:

我在 Google 上搜索过,在 php 本身、javascript/jQuery/AJAX 和 CodeIgniter 会话数据/flash 数据中有很多方法可以做到这一点。

但我更喜欢在 CI perdefied library/helper 中执行此操作,例如 laravel OLD helper。我的表单非常大,包含不同的元素,如文本输入、下拉菜单、收音机等。但是我在 View (MVC) 中的输入上尝试了以下操作。 例如,我有一个表格,其中一些文件如下所示

例子:

<form method="post" >
        <input type='text' class="form-control"  value="name" />
        <input type='text' class="form-control"  value="" />
        <input type='text' name='last_name' id='last_name' value="<?=set_value('last_name')?>" />
    <select name="select">
        <option value="1">Select 1</option>
        <option value="2">Select 2</option>
        <option value="3">Select 3</option>

    </select>
    <a href="/add-new-select">Add new Select value </a>
    <input type="submit" value="submit">
</form>

现在当我点击添加新选择时,他们会将我重定向到另一个页面,在成功创建后我将在其中创建一个新选择(选择 4),我将重定向到我的表单。

现在我怎样才能用他的旧数据填充我的所有输入

我已经尝试过 set_value,但它只适用于表单提交。我可以使用 session/cookies 解决这个问题,但这将是一个巨大的过程并且会分散代码。有没有其他的方法?欢迎举例!

【问题讨论】:

您已经有了“首选”方法的答案,请使用会话。但是您似乎知道这很糟糕,并且您已经在 Google 上查找了有关使用 AJAX 的信息……那您在问什么?您已经在查找示例。尝试一些,如果您卡在代码上,请询问。 实际上,我正在寻找一些 CI 库/帮助程序来实现我的目标! 【参考方案1】:

我们不能在这里使用 set_values() 函数设置值,因为 set_values() 函数仅在我们验证表单并且表单验证失败时才起作用。 这里可以使用 session 或 cookie 来设置值,并且可以在重定向后获取值。

【讨论】:

以上是关于重定向后如何记住CodeIgniter(CI)中的输入表单数据而不是再次进入同一页面的主要内容,如果未能解决你的问题,请参考以下文章

在codeigniter中重置密码后如何重定向

在codeigniter中如何使用ajax登录后重定向

如何重定向到codeigniter中的另一个函数?

在 CodeIgniter 4 中提交表单后重定向页面无法工作

如何在 Codeigniter 中重定向和删除 index.php [重复]

在 Codeigniter 中重定向后会话丢失