重定向后如何记住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 4 中提交表单后重定向页面无法工作