编码/解码并不总是有效 - Codeigniter

时间:2015-03-04 02:33:10

标签: php database codeigniter

我有一个从数据库中删除的删除按钮。我按下我页面上的删除按钮,直到我按下它几次才能执行任何操作。有时,它只是一次性删除数据库中的值,其他时候,我必须按住删除按钮一次,以便删除。有办法克服这个问题吗?

我的观点文件:

//other code above

<?php $encrypted = $this->encrypt->encode($data->pid); ?>
<a href="<?php echo base_url() . "profile/delete_entry/" .  $encrypted; ?>">Delete</a>

//other code below

我的控制器:

$this->load->model('model_entry');

    $pid = $this->uri->segment(3);

    $result = $this->model_entry->entry_delete($pid);
    //redirect to entries index.php

我的模特

public function entry_delete($pid) {

    $pid = $this->encrypt->decode($pid); //to decode

    $uid=$this->session->userdata('uid');

    $whereConditions = array('pid' => $pid, 'uid' => $uid);
    $this->db->where($whereConditions);

    $this->db->delete('dayone_entries');
}

1 个答案:

答案 0 :(得分:1)

不确定您是否可以在网址中放置加密数据。 Codeigniter不允许您使用具有特殊字符的网址,例如“=”。据我所知,如果您执行$encrypted = $this->encrypt->encode($data->pid);之类的操作,它将返回一个末尾带有'='的字符串。

以下是有关CodeIgniter中加密的说明。 Encryption string on Codeigniter