gpt4 book ai didi

php - 检查表单数据 - 在模型中还是在 Controller 中?

转载 作者:行者123 更新时间:2023-12-04 06:40:08 26 4
gpt4 key购买 nike

在 CodeIgniter ,我有这样的模型和 Controller ,用于使用 AJAX 发表评论

模型:

class Items_model extends Model {
function add_comment($item_id, $user_id, $text, $type)
{
$data = array(
'item_id' => $item_id,
'user_id' => $user_id,
'text' => $text,
'type' => $type,
'created_at' => mktime()
);
$this->db->insert('comments', $data);
return $this->db->insert_id();
}

Controller :
class Items extends Controller {
function add_comment()
{
$this->load->helper('date');

$item_id = $this->input->post('item_id', TRUE);
$text = $this->input->post('comment_text', TRUE);
$type = $this->input->post('type', TRUE);

$user_id = $this->session->userdata('user_id'); // user id, must be logged in

$this->Items_model->add_comment($item_id, $user_id, $text, $type);
$response = array(
'message' => 'Thank you!'
);
echo json_encode($response);
}

在 Controller 或模型中,我应该控制表单中的数据:$item_id 和 $text 不为空,设置了 $user_id 并且用户已登录?
如何?

最好的,基里尔。

最佳答案

如果您自己工作,我会在 Controller 级别进行验证,然后在模型级别设置默认值。理想情况下,您将在每个级别进行验证和错误处理,甚至在客户端也进行一些验证。在大型项目中,可能会出现这样的情况:一位开发人员正在构建模型,而另一位开发人员正在构建 Controller 。如果每个人都在自己的级别进行验证,那么它不仅会使应用程序更安全,而且会让每个人都知道他们正在正确访问功能等。

关于php - 检查表单数据 - 在模型中还是在 Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com