PHP


【PHP】サブドメインに親ドメインのセッション情報を引き継ぐには

親ドメインのセッション情報が、サブドメインに引き継がれないのは、クッキーの有効範囲にサブドメインが含まれていないため。(IEだとOKなのに、safariやfirefoxだとNGになるものこのケースが当てはまる)

サブドメインにもセッション情報を引き続きたい場合は、一番最初にクッキーを作る段階で「サブドメインにも有効なクッキー」を作る必要がある。

やり方は、クッキーが作られるドメインのphp.iniに次の記述をすればいい。

session.cookie_domain = ".example.com"

この記述があるphp.iniファイルのドメイン下で作られたクッキーは、すべてのサブドメインでも有効になる。ドメイン先頭のドット「.」を忘れないように。

あと、動作確認をするときは、必ずクッキーをクリアしてから行うこと。ログアウト→再ログインとかでは不十分。

【PHP】strposで検索文字に配列を使うための自作関数

自作関数名は strpos_array

strposと同じように使える。検索文字が配列であっても、なくても利用できる。

function strpos_array($haystack, $needles) {
if ( is_array($needles) ) {
foreach ($needles as $str) {
if ( is_array($str) ) {
$pos = strpos_array($haystack, $str);
} else {
$pos = strpos($haystack, $str);
}
if ($pos !== FALSE) {
return $pos;
} else {
return FALSE;
}
}
} else {
return strpos($haystack, $needles);
}
}

5 / 512345