2016-11-09 47 views
-1

我正在使用CodeIgniter REST庫。 我接受使用獲取請求的移動應用程序的值。在對該值執行操作後,我相應地發送響應。 它工作正常。 但是,如果參數中的值包含#符號,我無法在#之後獲取參數,並導致錯誤的響應。Codeigniter REST:如果參數值包含#符號,則get請求不起作用

任何人都可以指導我解決這個問題嗎?

下面是代碼:

public function loginverification_get(){  

    if(isset($_REQUEST['username'])) 
     $uname=$this->get('username'); 
    else 
     $uname=''; 

    if(isset($_REQUEST['password'])) 
     $password=trim($this->get('password')); 
    else 
     $password=''; 

    if(isset($_REQUEST['user_type'])) 
     $user_type=$this->get('user_type'); 
    else 
     $user_type=''; 


    if(isset($_REQUEST['spiriva_respi'])) 
     $appcontent=$this->get('spiriva_respi'); 
    else 
     $appcontent=''; 


    $where=''; 
    ///////////////// 
     SOME CODE 
    /////////////////// 
     if (!empty($user)) 
     { 
       $user['status'] = true; 
       $user['message'] = 'Successfully logged in!';        
       $this->set_response($user, REST_Controller::HTTP_OK); 
     } 
     else 
     { 

      $this->set_response(array(
       'status' => false, 
       'message' => 'Login information is not valid!' 
      ), REST_Controller::HTTP_OK); 

     } 
    }/*if($uname!='' && $user_type!='')//&& $password!='' */ 
    else{ 
     $this->set_response(array(
       'status' => false, 
       'message' => 'UserName and UserType mandatory' 
      ), REST_Controller::HTTP_OK); 
    } 

}/// login verification 

和要求是: http://domain_name/api/controllername/loginverification?username=u_name&password=y#[email protected] $%^ & &%USER_TYPE = ABCD

我不能在要求的任何變化。

+0

如果您發佈有關您的問題的代碼部分這可能有助於以下方法...請參閱[如何提問](http://stackoverflow.com/help/how-to-ask)並考慮提供[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) – David

+0

我已經添加了代碼。你能建議任何解決方案嗎? – user3522186

回答

0

從客戶端的價值應該被URL編碼 喜歡的Android

String query = URLEncoder.encode("apples #oranges", "utf-8"); 
String url = "http://stackoverflow.com/search?q=" + query;