(PHP 4, PHP 5, PHP 7, PHP 8)
session_name — 現在のセッション名を取得または設定する
$name
= null
): string|false
session_name() は、現在のセッション名を返します。
name
を渡すと、
session_name() はセッション名を上書きして
元の セッション名を返します。
新しいセッションの name
が与えられると、
session_name() 関数は HTTPクッキー を
変更します(そして、session.transid
が有効なときは、出力内容も変更します)。
HTTPクッキー が一度送信されると、
session_name() 関数はエラーになります。
session_name() 関数は、
セッションを適切に動作させるためには、
session_start()
の前に呼び出さなければなりません。
リクエストが開始された際にセッション名はリセットされ、
session.name
に保存されたデフォルト値に戻ります。
よって、各リクエスト毎に(そして
session_start() をコールする前に)
session_name() をコールする必要があります。
name
セッションの名前を参照します。これは、クッキーや URL
(例: PHPSESSID
) で使われます。
セッション名は英数字のみで構成されている必要があり、また、
短く、その内容が分かるようなものである必要があります
(これは、クッキー警告を有効にしているユーザー用です)。
name
が指定され、null
でない場合、
現在のセッションの名前が、指定された値に置き換えられます。
セッション名は数字だけで構成することはできません。 少なくとも文字がひとつ以上現れる必要があります。そうでない場合、 新規セッション ID が毎回生成されます。
現在のセッションの名前を返します。
name
を渡すと、
session_name() はセッション名を上書きして 元のセッション名を返します。
失敗した場合に false
を返します
バージョン | 説明 |
---|---|
7.2.0 |
name は、nullable になりました。
|
7.2.0 | session_name() 関数は、 セッションの状態をチェックするようになりました。 これより前のバージョンでは、 クッキー の状態をチェックするだけでした。 そのため、古い session_name() 関数は session_start() 関数の後に session_name() 関数をを呼び出すことを許して しまっており、それが PHP のクラッシュや不具合を起こす可能性がありました。 |
例1 session_name() の例
<?php
/* セッション名をWebsiteIDに設定する */
$previous_name = session_name("WebsiteID");
echo "前回のセッション名は $previous_name でした<br />";
?>