2012-05-17 3 views
0

Sagepay를 Codeigniter v2.1 응용 프로그램에 통합하려고합니다. 어떤 이유로 $ _GET 쿼리 문자열에서 Sagepay에서 반환 된 암호화 데이터를 얻는 데 문제가 있습니다.

$ _GET에서 변수를 시도 할 때마다 FALSE로 반환 될 때마다 마찬가지로 $ _GET 배열 자체가 빈 배열을 반환합니다.

http://mydomain.com/packages/payment_status/success/?crypt=IgAdEBkXOhwsHRAATkVESF5RQkNDSEJEW1BWSVpDWVNDQUFXXVJXVCI1ICAOLApZFEJMIUVMRiMvSVoxMFxeMTMjW0kuQDAkXjBGIVoiK0FAUzcwQRhINxsTABAASTkuSDcbEwAQADATEQ8NA09EVUNEVl9OMAcXVCQGAB4KHA0cEwAMHBpWEg8XTyEBBhARBRYIEQNcUjELNQMRBioAT0VVQE1OUFpCLiQnJiVGSzYrJzogPTEqVDUqKiFPPzUxMDxWKiAoNlQ1ARcGExYdNgoBAQkHSTgqOikuJjctNjBQNQEXGzEbARYmExYbCBtPOionOTcxLSwqNlImJUYkAB0RAwZJKDIgNS0rIEk1HQMHNR8BU1RJQTA2FhcDFws3GxMAEABJOCo6Jyc3Ny42MFAmDxYLJg0VFkkgLD0lST4VFgdAMgwJDRsBSVVDREBDLwkABxoRTkZDVUBUXw== 

    $crypt = $this->input->get('crypt'); 
    var_dump($crypt); // returns FALSE 

나는 다음과 같은 구성 설정에 설정 한 : 다음과 같이

URL은

$config['uri_protocol'] = "QUERY_STRING"; 
$config['enable_query_strings'] = TRUE; 
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?'; // to allow the '?' character in the url 

사람이 내가 뭘 잘못 제안 할 수 있습니까?

+0

나는 쿼리 문자열 메서드를 사용하지 않지만이 코드를 호출하는 데 사용되는 URL의 샘플을 표시 할 수 있습니까? – MikeCruz13

+0

반환되는 URL을 추가했습니다. – Zabs

+0

이전에 몇 번 물어 본 것 같습니다. 오른쪽에있는 관련 링크를보십시오. –

답변

0

// 내 컨트롤러 $ 부품 = parse_url (current_url에 결국이 방법 .. MY_Controller.php

function current_url() { 
$CI =& get_instance(); 

$url = $CI->config->site_url($CI->uri->uri_string()); 
return $_SERVER['QUERY_STRING'] ? $url.'?'.$_SERVER['QUERY_STRING'] : $url; 

}를 사용());

if (isset($parts['query']) && is_array($parts)) 
    { 
     parse_str($parts['query'], $querystring); 
     krumo($querystring); 
    } 

이 지금은 잘 될 것 같다 :) 감사 - PATH_INFO하는 URI 설정을 변경하고 너무 htaccess로 파일에 일부 개조하면 되겠 어를 만들었습니다.

0

CodeIgniter의는 $ _GET이나 $ _POST 변수를 사용하지 않습니다 . 당신이 그들에 액세스하는 방법

$this->input->get()

$this->input->post()입니다.

0

이 시도 :

$config['uri_protocol'] = "PATH_INFO"; 
$var = $this->input->xss_clean($_REQUEST['var']);