php - 在 $_POST 变量中设置值以通过 Codeigniter 验证

标签 php json codeigniter

我正在使用 Codeigniter 创建基于 WebSocket 的应用程序。因此,数据以 JSON 字符串的形式出现(不是 POST 方法)。我想使用 Codeigniter 的内置 form_validation 方法来验证以 JSON 格式接收的数据。

这是我到目前为止尝试设置变量的方法,因此我可以通过 $this->input->post('variable_name') 访问它但是。

尝试 #1

$_POST['variable_name'] = !isset($data['variable_name']) ? NULL : $data['variable_name'];

尝试 #2

$variable_name = !isset($data['variable_name']) ? NULL : $data['variable_name'];
$this->form_validation->set_value("variable_name", $variable_name);

但是当我使用 $this->input->post('variable_name') 它返回 NULL

最佳答案

我是这样实现的。虽然,这似乎不是一个准确的解决方案,但它很简单并且没有变通办法。

我在执行表单验证之前只添加了一行

$_SERVER["REQUEST_METHOD"] = "POST";

然后像这样设置变量

$_POST['post_var'] = "value";

现在设置验证规则并执行验证。

就是这样:)

关于php - 在 $_POST 变量中设置值以通过 Codeigniter 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652453/

相关文章:

php - 如何使用 PHP 生成 Google ReCaptcha V2 安全 token ?

javascript - 我应该如何在 JSON 中表示表格数据?

ruby - 续集——查询多对多关联

php - 表单验证不适用于表单 GET 方法

codeigniter - 如何在没有在 Codeigniter 中设置规则的情况下重新填充表单字段?

file - 在 codeigniter 中使用上传类 - 模型还是 Controller ?

javascript - jQuery 自动完成不起作用(JSON PHP 到 js)

php - 在一个类中混合静态和非静态方法是否可以接受?

javascript - jquery/ajax 表单 - 服务器端 php 但得到跨域警告

javascript - 如何从服务器请求json文件并放入?