[英]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.