如何在php中获取会话ID并显示它?

Ali*_*liM 27 php session

我需要使用一些像会话ID这样的唯一ID.如何在php中获取会话ID?

小智 80

session_start();    
echo session_id();
Run Code Online (Sandbox Code Playgroud)


Alm*_* Do 17

我不建议你开始会话只是为了获得一些独特的ID.相反,使用这样的东西,uniqid()因为它旨在返回唯一ID.

但是,如果您已经有会话,那么当然session_id()要用来获取会话ID - 但不要依赖它,因为"unique id"与常规意义上的"session id"不同:例如,多个标签在大多数浏览器中将使用相同的进程,因此,在结果中使用相同的会话标识符 - 因此,不同的连接将具有相同的ID.这是您对所需行为的决定,我之前提到这只是为了显示会话ID和唯一ID之间的区别.


Utk*_*ngh 8

在获取会话ID之前,您需要启动会话,这可以通过使用:session_start()函数来完成.

现在您已经启动了一个会话,您可以使用:session_id()获取会话ID.

/* A small piece of code for setting, displaying and destroying session in PHP */

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

/* SOME PIECE OF CODE TO AUTHENTICATE THE USER, MOSTLY SQL QUERY... */

/* now registering a session for an authenticated user */
$_SESSION['username']=$username;

/* now displaying the session id..... */
echo "the session id id: ".$r;
echo " and the session has been registered for: ".$_SESSION['username'];


/* now destroying the session id */

if(isset($_SESSION['username']))
{
    $_SESSION=array();
    unset($_SESSION);
    session_destroy();
    echo "session destroyed...";
}
?>
Run Code Online (Sandbox Code Playgroud)