6

なぜこれが機能しないのかわかりません。設定ファイルにallow_get_array=TRUEがあります。これが私がやろうとしていることです。

これは、ユーザーがメールからクリックするリンクです

http://www.site.com/confirm?code=f8c53b1578f7c05471d087f18b343af0c3a638

Confirm.phpコントローラー:

$code = $this->input->get('code');

また試した

$code = $this->input->get('code', TRUE);

何か案は?

4

4 に答える 4

8

あなたのconfig.php変更では、次のようになります。

$config['uri_protocol'] = 'AUTO';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['enable_query_strings'] = FALSE;

に:

$config['uri_protocol'] = 'REQUEST_URI';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?';
$config['enable_query_strings'] = TRUE;

クエリ文字列をいじる代わりに、のようなセグメントを使用するようにURIを変更できますhttp://www.site.com/confirm/code/f8c53b1578f7c05471d087f18b343af0c3a638。コードセグメントにアクセスするには、を使用します$this->uri->segment(3);。個人的には、クエリ文字列を使用するよりもこの方法を好みます。URIクラスを参照してください

于 2012-12-26T22:17:39.123 に答える
5

これを使って:

$code = isset($_REQUEST['code']) ? $_REQUEST['code'] : NULL;

編集:

PHP> = 7.0では、次のことができます。

$code = $_REQUEST['code'] ?? NULL;
于 2014-08-02T20:45:25.773 に答える
4

私はこれを行い、構成ファイルを変更することなく機能しました:

//put some vars back into $_GET.
parse_str(substr(strrchr($_SERVER['REQUEST_URI'], "?"), 1), $_GET);

// grab values as you would from an ordinary $_GET superglobal array associative index.
$code = $_GET['code']; 
于 2012-12-27T01:14:35.603 に答える
0

やってみてください

http://www.site.com/confirm/?code=f8c53b1578f7c05471d087f18b343af0c3a638

それ以外の

http://www.site.com/confirm?code=f8c53b1578f7c05471d087f18b343af0c3a638

設定なしで、または編集してください

于 2012-12-26T23:08:23.900 に答える