2012-03-29 20 views
0

私はASP.NETログインアプリケーションを持っています。 ログインが成功すると、私のアプリケーションはCookieを作成します。作成された、私のクッキーのようなものに似ている場合はCookie値の一部を取得し、変数に格納する

Name: LoginCookie 

Value: guid=3eb8d82d-bc83-4ab9-b12b-880f84404a1d&login=true 

を私の質問は、PHPとで、どのように私は「のGUID」の値を取得し、変数に格納しますか?

多くのありがとうございます。

+0

! – ThiefMaster

答えて

2

使用parse_str()次の2枚の別々のクッキーを設定していないのはなぜ

parse_str($_COOKIE['LoginCookie'], $cookie); 

// now 'guid' and 'login' are available in the array $cookie: 
echo var_export($cookie, 1), PHP_EOL;  

echo $cookie['guid']; 
+0

これは完全に機能します。ご協力いただき誠にありがとうございます :-) – michaelmcgurk

1

あなたは、正規表現でこれに打撃を与えることができる:GUIDの形式がそのよう常に

$cookieValue = $_COOKIE['LoginCookie']; 
preg_match('#guid=([\-a-f0-9]+)#', $cookieValue, $matches); 
$guid = $matches[0]; 

場合、正規表現は、より具体的に更新することができます。今はguid = upの後に何かにマッチし、数値、小文字の16進文字(a-f)、またはダッシュではないものと一致するまでです。

PHPのparse_strを使用すると、クッキーがkey1 = value1 & key2 = value2 ... formatにある場合にも優れたオプションです。 URLパラメータスタイルの文字列を取り、それを複数のキーと値のペアに分割します。

$cookieValue = $_COOKIE['LoginValue']; 
parse_str($cookieValue, $cookieParts); 
$guid = $cookieParts['guid']; 

この方法は、おそらくこれらの値を「PHP」の方法で取得するよりクリーンな方法です。

+0

ありがとうございます! parse_strが最善の方法です。 – michaelmcgurk

関連する問題