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

问题描述

我用谷歌搜索过,在 PHP 本身、JavaScript/jQuery/AJAX 和 CodeIgniter 会话数据/闪存数据中有很多方法可以做到这一点。

但我更喜欢在 CI perdefied library/helper 中执行此操作,例如 laravel OLD helper。我的表单非常大,包含不同的元素,如文本输入、下拉菜单、收音机等。但是我在视图 (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,但它只适用于表单提交。我可以使用会话/cookies 解决这个问题,但这将是一个巨大的过程并且会分割代码。有没有其他的方法?欢迎举例!

标签: phpcodeignitersession-cookieshelperform-data

解决方案


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


推荐阅读