PHPのsession_id関数でセッションIDを取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPのsession_id関数でセッションIDを取得する方法について現役エンジニアが解説しています。セッションIDとは、Webサービスでユーザーを識別するためにアプリケーションやサーバーが発行するIDのことです。session_id関数でセッションIDの確認や変更を行うことができます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPのsession_id関数でセッションIDを取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのsession_id関数でセッションIDを取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事では、PHPでセッションIDを取得する方法について解説しています。

セッションの仕組みがよくわからないという方でも理解できる内容となっています。
 

目次

 

セッションIDとは

セッションIDとは、Webサービスを利用するユーザーを識別するためにアプリケーションやサーバーが払いだすIDのことです。

このセッションIDをユーザーに付与することによってアプリケーションやサーバーは、ユーザーを特定し、ユーザーがWebアプリケーションにアクセスしてからサービスを終了(ブラウザを閉じるなど)まで一貫したサービスを提供できます。

例えば、Webページを移動しても前のページの情報が表示されるのもこのセッションIDが存在することによって成り立っています。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

session_id関数を利用したセッションIDの取得方法

PHPでセッションIDを取得するためには、session_id関数を使用します。

それでは、session_id関数の使用方法を見ていきましょう。

session_id関数の使い方:

session_id( [$セッションID] )

session_id関数は引数を渡さずに呼び出すと現在設定されているセッションIDを取得できます。

また、任意に引数に文字列のセッションIDを渡すことで、現在設定されているセッションIDを引数で渡したセッションIDで置換可能です。
 

session_id関数の注意点

session_id関数に引数としてセッションIDを渡して設定する場合、その後の処理として、session_start関数を呼び出す必要があります。

session_start関数は、呼び出すことで新しいセッションを作成したり、セッションを復帰する時に使用する関数です。

もし、session_id関数に今まで設定されていたセッションIDと同じセッションIDを渡して置換したとしても、その後にsession_start関数を呼び出す際にユーザーに新しいクッキーを送信しているという点に注意が必要です。
 

実際に書いてみよう

それでは、実際にsession_id関数を使用して、セッションIDを取得する例を見ていきましょう。

サンプルコード:

<?php
session_start();
$session_id = session_id();

echo $session_id;
?>

実行結果:

ips13t4bthm352do7njjioeass

上記の例では、まずsession_start関数を呼び出し、セッションを作成した後に、そのセッションのセッションIDを取得し、出力しています。

実行結果に表示されているのは、session_id関数を呼び出して取得した現在のセッションに設定されているセッションIDです。
 

まとめ

以上、session_id関数を使用して、セッションIDを取得する方法を解説しました。

Web開発を行う際は、セッションは重要な技術なので、まずはその仕組みから理解し上記で解説した関数を使用して、PHPでセッションを扱えるようになりましょう。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。