【问题标题】:Codeigniter: How to repopulate form if using GET query string?Codeigniter:如果使用 GET 查询字符串,如何重新填充表单?
【发布时间】:2013-12-19 02:37:06
【问题描述】:

CodeIgniter 有很棒的表单验证类,它还可以作为一种在提交后重新填充表单的方式......前提是你使用 POST。

但是,如果我使用 GET 查询字符串,如何在提交后重新填充我的表单?

是否有内置方法可以做到这一点,还是我必须编写自己的类?

谢谢一百万!

【问题讨论】:

    标签: php codeigniter get


    【解决方案1】:

    您可以使用 $this->input->get() 方法从查询字符串 (get) 中读取数据并在重新加载表单后使用它(这可能是您所说的“重新填充”的意思)。

    例子:

    <h5>Username</h5>
    <input type="text" name="username" value="<?php echo $this->input->get('username'); ?>" size="50" />
    

    更多阅读: http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html http://ellislab.com/codeigniter%20/user-guide/libraries/input.html

    【讨论】:

    • 你真是个天才,谢谢!它是如此简单,但我从未想过它可以这样使用。顺便说一句,这是我在视图文件中的做法:
    • 您必须启用 global_xss_filtering,使用$config['global_xss_filtering'] = TRUE; 来防止 XSS 漏洞。例如,请求 ?username=1"&gt;&lt;script&gt;alert(/XSS/)&lt;/script&gt;&lt;input 可能会在您的页面中创建一些不需要的元素。
    • 谢谢@ChiChou。除了启用全局 XSS 过滤器之外,我们可以只执行 $this->input->get('foo', TRUE) 以便 GET 项通过 XSS 过滤器,这样是否足够好?
    • 是的,$this->input->get('foo', TRUE) 将得到与全局 xss 过滤相同的结果
    【解决方案2】:

    也试试这个。

     <input type="text" name="q" placeholder=" Search " value="<?php echo set_value('q',@$_GET['q']); ?>">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 2010-11-10
      • 2011-03-13
      • 1970-01-01
      相关资源
      最近更新 更多