我是codeigniter的新手,只是想确保我以正确的方式传递参数。
codeigniter可以使用常规的GET / POST输入参数,可以使用输入类在控制器中访问这些参数。
例如: $ this-> input-> get / post('param1',TRUE);
另一种方法是将其传递给 http://xyz.com/ci/index.php/cont/func/param1 其中param1可用于cont中的方法'func($ param1){}'
一个。 在第二种情况下,CI会自动清理用户输入还是由我决定(我猜它是后者)? 如果我要这样做,那该怎么做?
湾 传递用户输入的推荐方法是哪种(1对2)?
℃。 “启用/禁用查询字符串”的优缺点是什么?
d。 在CI中,有没有办法像Inspekt那样清理/验证用户输入?
答案 0 :(得分:1)
<强>答复强>
A 在第二种情况下,CI会自动清理用户输入还是由我决定(我猜是后者)?如果我要这样做,那该怎么做?:
输入类 第二个可选参数允许您通过XSS运行数据 过滤。通过将第二个参数设置为布尔值TRUE来启用它;
您可能需要清理它仍然,具体取决于您将如何使用它。但对我来说,我仍然按照自己的方式对它进行消毒。我想知道它是什么。
B 推荐使用哪种方式传递用户输入(1对2)?:
我不认为您使用的输入方式或选择方式存在限制,当数据来自FORM input
时,您将使用POST
,因为您无法在{{}中传递表单输入1}},(或者你可能只是不推荐)样式如示例URL
,如果来自2
或其他来源,最好的方法是通过{{1} }或CI的API
功能。或GET
方法
C “启用/禁用查询字符串”的优缺点是什么?:
即使它被禁用,你仍然可以使用查询字符串,我没有看到禁用或启用它的任何缺点或优点,
但您可以简单地在URI上传递$this->uri->segment()
,只需使用function(param1)
来检索它,我使用了这么多,因为我必须在www.example.com/?param1=foo¶m2=bar
上传递加密数据。
D 在CI中,有没有办法像Inspekt那样清理/验证用户输入? :
如果您需要检查功能,可以将检查功能集成到CI。