簡體   English   中英

Codeigniter網址重定向

[英]Codeigniter url redirect

我曾經在url前加密我的數據ID。 mywebsite.com/product/detail/encryptedid,然后如果我轉到該鏈接,它將顯示該特定產品的所有信息。 但是當我嘗試更改諸如某些隨機字符串ex之類的cryptonid時。 mywebsite.com/product/detail/asd123它將顯示錯誤“試圖獲取非對象的屬性”我很好奇如何防止這種錯誤,例如如果他們將加密的url更改為一些隨機字符串,可以重定向到原始的mywebsite.com/product/detail/encryptedid,該頁面仍會顯示該特定產品的信息,或轉到404頁。

要獲得清晰的示例,請看下面的圖片。

加密圖像

帶有加密ID

輸入了隨機字符串的圖像

沒有加密ID

編輯:

我的控制器

public function details($id){

    $decrypt = secret_url('decrypt',$id);

    $prod_row = $this->ProductModel->getonerow($decrypt);
    $data['product_detail'] = $prod_row;

    $data['title'] = "Ayos Computer | Product Details";
    $data['category'] = $this->ProductModel->get_category();
    $data['products'] = $this->ProductModel->get_product();

    $this->load->view('include/header',$data);
    $this->load->view('include/nav');
    $this->load->view('products/ProductDetail', $data);
    $this->load->view('include/footer');
}

視圖

 <a href="<?= base_url() .'products/details/' . secret_url('encrypt',$featured_row->product_id) ?>"></a>

先感謝您。

就像沒有產品一樣:

public function details($id)
{

    $decrypt = secret_url('decrypt',$id);

    $prod_row = $this->ProductModel->getonerow($decrypt);

    if (null !== $prod_row) {
        $data['product_detail'] = $prod_row;

        $data['title'] = "Ayos Computer | Product Details";
        $data['category'] = $this->ProductModel->get_category();
        $data['products'] = $this->ProductModel->get_product();

        $this->load->view('include/header',$data);
        $this->load->view('include/nav');
        $this->load->view('products/ProductDetail', $data);
        $this->load->view('include/footer');
    } else {
        // CI default 404 view if left blank value
        show_404($custom_page = '');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM