人生のプチ美学を教えてください!!

お世話になります。
PHPの記述でつまずいてしまった2つあり、アドバイス頂ければと思い投稿させて頂きました。

1.PHPでセッションにてページ間のデータを受け渡しをしているのですが、これを特定のセッションのみ終了させることは可能でしょうか?

例)$_SESSION['1']と$_SESSION['2']の二つのセッションがあり、$_SESSION['2']のみクリアすることは可能でしょうか?

session_destroyをしてしまうと全部のセッションがクリアされてしまうため、ここで悩んでいます。


2.ある特定の文字列で16桁の乱文字列を作りたいのですが可能でしょうか?

例)使う文字列=a,b,c,d,e,1,2,3,4,5
  上記の9つを使って16桁(a1bbcde45ed51cae)の文字列を毎回生成させていです。(文字列には特にこだわりませんが、英数字+数字で16桁の文字列を作る)


上記の2点について、夜分遅くですがアドバイスなど頂けたら嬉しい限りです。
よろしくお願い致します。

A 回答 (1件)



unset($_SESSION['2']);

単純にこれで良いと思います。

2.

英数字で良ければ
$key = substr(md5(time() + microtime()), 0, 16);

こんなのでいいのかな?って思います。

使う文字列=a,b,c,d,e,1,2,3,4,5

の場合は

$str = 'abcde12345';
$len = strlen($str) - 1;
$key = '';
for($i = 0; $i < 16; $i++) {
$_rand = rand(0, $len);
$key .= substr($str, $_rand, 1);
}

こんな感じで良いんじゃないかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報