簡體   English   中英

PHP filter_input() 函數不適用於 CI 控制器

[英]PHP filter_input() function not working with CI controller

PHP 的filter_input()函數在 CI 控制器中不起作用。 但是它在視圖中工作。 控制器代碼如下。

class member extends CI_Controller {

    public function __construct() {
        parent::__construct();

        $obj =& get_instance();
        $obj->load->helper('url');
        $this->load->library('session');

        $this->load->library('form_validation');

        $this->load->library('pagination');     

    }

    public function editMember() {
        $mem_id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING);
        echo $mem_id;
    }
}

用於調用editMember函數的 url 如下所示。

https://mypage.com/member/editMember?id=mem001

echo 語句不顯示任何內容。

當我嘗試使用$_GET['id']獲取輸入參數時,它可以工作並且 echo 語句顯示mem001 ,如上面的示例鏈接中所示。 如果我使用 CodeIgniter 的輸入類如下,它可以工作。

$mem_id = $this->input->get('id');
echo $mem_id;

你能幫忙看看出了什么問題以及如何解決這個問題嗎? 謝謝。

這是var_dump($_SERVER['QUERY_STRING'])結果。

string(9) "id=mem001"
public function editMember() {
if (isset($_GET["id"])) { 
if (!filter_input(INPUT_GET,'id', FILTER_SANITIZE_SPECIAL_CHARS) { 
    $mem_id = filter_input(INPUT_GET,'id', FILTER_SANITIZE_SPECIAL_CHARS);
    echo $mem_id;
} else { 
    $mem_id = filter_input(INPUT_GET,'id', FILTER_SANITIZE_SPECIAL_CHARS);
    echo $mem_id; 
} 
} 
}

暫無
暫無

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

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