在CodeIgniter中,$this->ci->input->post('something')不工作可能有以下几个原因:
- 错误的加载CodeIgniter库:在使用$this->ci->input之前,需要确保已正确加载CodeIgniter的Input库。可以在控制器的构造函数中加载该库,如下所示:
$this->load->library('input');
- 错误的访问方式:在CodeIgniter中,可以使用$this->input->post('something')来获取POST请求中的数据。$this->ci->input->post('something')是错误的访问方式。请确保使用正确的$this->input来访问Input库的方法。
- 错误的表单提交:如果无法获取到POST请求中的数据,可能是因为表单没有正确提交或者表单中没有包含名为'something'的字段。请确保表单使用了正确的提交方式(POST)并且包含了名为'something'的字段。
- 配置错误:在CodeIgniter的配置文件中,可以设置全局的全局变量保护(CSRF)以增加安全性。如果启用了CSRF保护,并且表单没有正确生成CSRF令牌或者令牌验证失败,那么$this->input->post('something')将返回空值。请确保已正确配置CSRF保护或者在表单中包含CSRF令牌。
总结起来,要解决$this->ci->input->post('something')不工作的问题,需要确保正确加载CodeIgniter的Input库,使用$this->input->post('something')来获取POST请求中的数据,并确保表单正确提交且包含了名为'something'的字段。如果启用了CSRF保护,还需要正确配置CSRF保护或者包含CSRF令牌。