2012-05-17 93 views
0

我正在將Sagepay整合到我的Codeigniter v2.1應用程序中 - 出於某種原因,我有問題從$ _GET查詢字符串中獲取從Sagepay返回的crypt數據。

每當我嘗試從$ _GET變量它返回爲FALSE,同樣$ _GET數組本身返回一個空數組。

的網址如下:

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

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

我已經打開了以下配置設置:

$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

我已經添加了要返回的網址 – Zabs

+0

我很確定這個問題已經被問過幾次了。看看右邊的相關鏈接。 –

回答

0

用於到底該方法.. 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; 

}

//在我的控制器 $部分= parse_url(current_url ());

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

這似乎現在罰款:)感謝 - 已經改變了URI設置PATH_INFO並作了一些調整,以htaccess的文件了。

0

笨不使用$ _GET或$ _POST變量。

$this->input->get()$this->input->post()

你如何訪問它們。

0

試試這個:

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