- 789 名前:773 mailto:sage [2009/11/04(水) 14:30:18 ID:???]
- >(2-2)・base64方式で、検索条件をエンコードして、URLのセグメントに無理やり埋め込む
追記です。 base64でエンコードした文字列のままだと、デフォルトのCIのURLで使えない文字が含まれてしまいます。 ja.wikipedia.org/wiki/Base64 Base64は、データを64種類の印字可能な英数字のみ A?Z, a?z, 0? までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。 CI → $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; なので、base64の「+」「/」「=」をそれぞれ「-」「_」「:」等に置換すれば、CIのURLのセグメントとして使えます。=URLのセグメントをGETとして利用可能 (例)CI用にカスタマイズしたBASE64(ヘルパー関数に配置) if ( ! function_exists('my_base64_encode')) { function my_base64_encode($str) { $str = base64_encode($str); $str = str_replace('+', '-', $str); $str = str_replace('/', '_', $str); $str = str_replace('=', ':', $str); return $str; } } これと同様にデコードする関数を用意すればOK
|

|