Como posso obter o ID da session no PHP e mostrá-lo?

Eu preciso usar algum ID exclusivo como ID de session. Como posso obter o ID da session no php?

 session_start(); echo session_id(); 

Eu não recomendaria que você iniciasse a session apenas para obter um id único. Em vez disso, use coisas como uniqid() porque se destina a retornar id uniqid() .

No entanto, se você já tiver uma session, então, use session_id() para obter o ID da session – mas não confie nisso, porque o “id exclusivo” não é o mesmo “ID da session” em bom senso: por exemplo , várias guias na maioria dos navegadores usarão o mesmo processo, assim, use o mesmo identificador de session no resultado – e, portanto, diferentes conexões terão o mesmo id. É sua decisão sobre o comportamento desejado, mencionei isso apenas para mostrar a diferença entre o ID da session e o ID exclusivo.

Antes de obter uma ID de session, você precisa iniciar uma session e isso é feito usando a function: session_start ().

Agora que você iniciou uma session, você pode obter um ID de session usando: session_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..."; } ?> 

Você tem function uniqid para id exclusivo

Você pode adicionar prefixo para torná-lo mais único

Fonte: http://pk1.php.net/uniqid

 if(isset($_POST['submit'])) { if(!empty($_POST['login_username']) && !empty($_POST['login_password'])) { $uname = $_POST['login_username']; $pass = $_POST['login_password']; $res="SELECT count(*),uname,role FROM users WHERE uname='$uname' and password='$pass' "; $query=mysql_query($res)or die (mysql_error()); list($result,$uname,$role) = mysql_fetch_row($query); $_SESSION['username'] = $uname; $_SESSION['role'] = $role; if(isset($_SESSION['username']) && $_SESSION['role']=="admin") { if($result>0) { header ('Location:Dashboard.php'); } else { header ('Location:loginform.php'); } } 

No primeiro arquivo PHP você precisa registrar a session

  < ? session_start(); $_SESSION['id'] = $userData['user_id'];?> 

E em cada página do seu aplicativo php você pode recuperar o ID da session

  < ? session_start() id = $_SESSION['id']; ?>