【问题标题】:Clear re-populated fields in code igniter清除 codeigniter 中的预填充字段
【发布时间】:2015-05-10 01:06:30
【问题描述】:

我有一个简单的表单,允许用户更改他们的密码。我正在使用 codeigniter 框架表单验证工具来检查用户是否正确输入了当前密码,新密码是否可以接受,以及确认密码是否与新密码匹配。一共三个领域。如果出现错误,我还使用重新填充工具重新填充字段。

如果正确输入所有内容,我的表单将显示相同的表单,并在底部显示密码已更改的消息。但是,输入的数据仍然存在。我尝试过重定向到相同的表单,但我无法收到确认消息。

我真正想知道的是有没有一种方法可以删除或清除作为重新填充变量的数据。这样当表单完成时,表单就没有值可以放回那些字段

【问题讨论】:

  • 您能否发布适用于您的控制器、模型和视图的代码?也可以让我们知道您尝试过的代码中没有的内容?否则很难帮你。
  • 另外一个角度——根本不要重新填充密码字段。永远不要重新填写 IMNSHO 密码和信用卡字段,存在太多潜在的安全问题。
  • @cartalot 好点,特别是如果他没有使用 HTTPS 来保护连接。此外,当涉及到密码更改表单时,如果出现问题,实际重新填充字段可能具有可疑的价值,因为至少有一个填写的字段是错误的。
  • 这是一个很好的观点。密码实际上可以承受不被减少的负担。我想我实际上决定让它进入确认页面。所以它完全离开了页面。

标签: php codeigniter post


【解决方案1】:

您可以使用一些 GET 参数重定向到页面,例如 www.example.com/change_pass?success=true。然后,在表格上方:<?php if($this->input->get('succes')) echo 'Confirmation message.';?>

【讨论】:

    【解决方案2】:

    虽然我对 Code Igniter 不太熟悉,但我认为对于这个任务你应该使用会话。更具体地说,我认为 Flash 消息将适合这项任务。请参阅 How to display error messages in CodeIgniterCodeIgniter Flash Data。我认为应该可以解决您的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-15
      • 2013-05-07
      • 2012-03-27
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多