为了账号安全,请及时绑定邮箱和手机立即绑定

如何在codeigniter中设置默认值?

如何在codeigniter中设置默认值?

PHP
白猪掌柜的 2022-01-14 15:26:09
是否有任何建议存储从表单 html 发布到数据库的默认值?我的应用程序使用 mysql 作为后端进程的 rdmbs 和 codeigniter。现在,我只是在提交表单中使用 html 方法。<input type="hidden" id="" name="" value="">在 html 页面上并在那里设置值。但是当您在任何其他浏览器中打开源代码时,该值是可见的。是否有任何方法可以存储用户在 codeigniter 中看不到的值?
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

如果您的表单以相同的方法发布数据,那么最好的方法是;将值保留在方法本身中,并在表单提交后使用。


public function edit() { 

     $id = 12;

     if ($this->form_validation->run()) {

         $dataComm    = array(

                            'id'  => $id

                            'name'       => $this->input->post('name') 

                            );

                            $result_comm = $this->Common_model->insert_data('cw_franchise_commission', $dataComm);

     }

     $this->data['title'] = "Edit User";

     $this->load->view('edit', $this->data);

 }

如果您的表单操作是另一种方法,那么您可以对值进行编码并在表单提交后对其进行解码。


编码


bin2hex(base64_encode($id))

解码


base64_decode(hex2bin($this->input->post('id')));

还有一件事,如果你使用隐藏输入,那么你应该把它命名为一些令人困惑的东西。否则,任何人都可以理解该领域的目的。



查看完整回答
反对 回复 2022-01-14
?
GCT1015

TA贡献1827条经验 获得超4个赞

没有这样的方法,但您可以使用以下方式将其保持为编码格式


base64_encode()


<input type="hidden" name="id" value="<php echo base64_encode('1231231231'.$id); ?>">

“1231231231”只是为了额外的安全性,它将预先带有 id


在控制器中剪切“1231231231”以获取 id


    function abc() {

    if (isset($_POST['id']) && !empty($_POST['id'])) {

        $id = substr(base64_decode($_GET['id']), 10); // to remive extra string

        if (!empty($id)) {

            // you  get id here

        } else {

            //if someone attempt to tamper with the id then it will retrive blank

        }

    } else {

        //redirect or show error

    }

}


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信