戸田 広
info****@sciss*****
2012年 12月 18日 (火) 18:42:30 JST
こんにちは、戸田です。
CodeIgniter のバージョンがわからないので
はずしているかもしれませんが、
手元の 2.0.3 と 2.1.3 のコードを読むかぎりでは同じ処理なので
回答してみます。
get() メソッドのコードは /system/core/Input.php にありますが、
ご提示の例では、最終的には次のような処理の結果が返っているはずです。
========================================
if ( ! isset($_GET['UserID']))
{
return FALSE;
}
========================================
このため、 if ($jdg_get !== FALSE) などとすれば
ご想定通りの動きになると思われます。
以上です。
On 2012/12/18, at 18:16, 小島健太郎 wrote:
> 小島と申します。
>
> CodeIgniterで不明点があるので質問させてください。
>
> ログインして使用する社内Webシステムを作っています。
>
> ログイン画面から直接ユーザ名・パスワードを入力してログインする方法に加え、
> ある別のシステムAと連動させて、Aシステム上のボタンから本システムを起動する場合は、
> ID、パスワードをAシステムから引き継いで自動ログインするようなものを作ろうとしています。
>
> 例えばアイコンから起動する場合は下記のURIとし、
> http://xxxxxx/test/index.php/c_test/login
> Aシステムから連動して起動する場合は
> http://xxxxxx/test/index.php/c_test/login?UserID=xxxx
> などとしてAシステムで使用している社員ID(など)をGET送信し、
> 受け側(ログイン画面)ではUserIDのGET値があればheader("Location:・・・・")で
> メイン画面へ飛ばすようにしようとしています。
>
> そこでGET値があるかどうかの判定なのですが、
> 例えば下記のような感じでいろいろ試しているのですが
> どうしてもGET値の有無の判定がうまくいきません。
> (GET値があると判定されます。ビューへechoで表示しても実際はGET値はないようです。)
>
> $jdg_get = $this->input->get("UserID",TRUE)
> if (isset($jdg_get)!==FALSE){
> //ここを通るかテスト
> }
>
> $jdg_get = $this->input->get("UserID",TRUE)
> if ($jdg_get!==""){
> //ここを通るかテスト
> }
>
> どこがいけないと思われるかご教示願います。
>
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users