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

时间:2014-01-23 08:13:11

标签: php session

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

6 个答案:

答案 0 :(得分:75)

session_start();    
echo session_id();

答案 1 :(得分:17)

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

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

答案 2 :(得分:8)

在获取会话ID之前,您需要启动一个会话,这可以通过以下方式完成: session_start()函数。

现在您已经开始会话,您可以使用以下命令获取会话ID: 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...";
}
?>

答案 3 :(得分:2)

你有唯一ID的uniqid函数

您可以添加前缀以使其更加独特

来源:http://pk1.php.net/uniqid

答案 4 :(得分:2)

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');
      }
 }

答案 5 :(得分:-6)

首先在PHP文件中注册会话

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

在php应用程序的每个页面中,您都可以检索会话ID

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