1、php中 session_id() 是什么意思
session_id()
session_id() 存取目前copy session 代号。
语法: string session_id(string [id]);
本函数可取得或者重新配置目前存放 Session 的代号。若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。
输出 session_id()
<?php
session_start();
echo session_id();
// 输出 dqr58dnuqj2gufvg4o3tmjb9v4
?>
设置 session_id()
<?php
session_id("NowaMagic");
session_start();
echo session_id();
// 输出 NowaMagic
?>
2、php网站的session 在服务器端是如何给客户端分配sessionid的
在PHP.INI里面有一项session.save_path,就是设置session保存位置的。
session是通过cookie来实现的,当浏览器访问一个页面时,php发现在cookie里面没有sessionid这个值,就会产生一个sessionid出来,同时对应一个服务器里面的session文件。然后通过cookie传给浏览器(通过cookie),下次浏览器再访问页面的时候,就会把这个sessionid给带上(也是cookie),然后php通过这个cookie找到对应的session文件,读取session的值。
也就是说如果用户关了cookie那session就用不了了。
以上就是session的原理,不过一般来说你也不需要了解它。
3、php怎么通过sessionid获取session-CSDN论坛
t.php文件代码:
<?php
OB_START();
@Session_start();
$sessionId = session_id();
echo $sessionId;
$_SESSION['abc']=123;
?>
<a href=t2.php?SESSIONID=<?= $sessionId;?>>获取session</a>
t2.php文件代码:
<?php
var_mp(session_id($_GET['SESSIONID']));
?>
t2.php也需要开启session:
<?php
@Session_start();
var_mp(session_id($_GET['SESSIONID']));
?> 《session_name() 返回当前session的名称》
CSDN创立于1999年,是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。拥有超过3000万注册会员(其中活跃会员800万)、50万注册企业及合作伙伴。
4、如何在PHP页面设置session的作用域名?
在guest里面
<?php
session_start();
$pathinfo = pathinfo($_SERVER['PHP_SELF']);
$dir = str_replace('/','',$pathinfo['dirname']);
if( $dir != 'guest' )exit();
if($_SESSION['username'] != ''){
}
5、php sessionid怎么获取
session的高级用法, 把session写到memcache或数据库里,就可以实现了 您也可以向我们团队发出请求,会有更专业的人来为您解答。 如果我的回答没能帮助您,请继续追问。
6、php中session作用域的问题,如下图,框架是library中的内容,现在给ad配一个域名,给admin配一个域名
在php中,服务来器端和客户源端之间的session是通过一个session_id来联系($_COOKIE['PHPSESSID'],这个PHPSESSID可以通过session_name()修改),并且session数据是以普通文件的形式保存在一个特定的文件夹里。
所以说,只要是同一台服务器,session数据目录相同,且两个域名使用了同一个session_id,那么两个域名就会共享session。
如果使用不同session的话,建议在两个域名进入的时候先使用session_destroy()清除原有的session_id,然后再重新session_start()生成新的session_id,这样就不会出现两个站点共享session的情况了。
7、php 如何通过session id获取session里的数据?
如果session的数据存在数据库里,你是可以根据id到数据库里查询获得其他数据的。否则的话不能。
8、如何修改PHP SESSIONID 在浏览器上COOKIE中的名字
修改PHP的配置文件php.ini里面的 session.name 项的值就可以了:
注:修改完记得重启PHP
9、php 如何使用session 让同一服务器上的2个域名同时登录
可以做到session分发
/**
* 子站点分发方法,将用户信息和对应的秘钥发送到子站点
* 子站点必须有对应的方法
*/
public function distributeCheckLogin(){
//多个站点发送
foreach($this->urlMap as $key=>$val){
$data['userInfo'] = $_SESSION['userInfo'];
$data['key'] = md5($data['userInfo']['id'].'_'.$val['key']);
$json = base64_encode(json_encode($data));
//$val 相当于http://b.com
echo "<script src='{$val}/Login/Oos/checkLoginKey/token/{$json}'></script>";
}
}
这个方法放在b.com里面/Login/Oos/这个下面具体自己完善,我给的使我们这边的思路
public function checkLoginKey(){
$token = json_decode(base64_decode($_GET['token']),true);
if( md5($token['userInfo']['id'].'_'.$this->deploy['USER_KEY']) != $token['key']){
return false;
}
$_SESSION['userInfo'] = $token['userInfo'];
}
10、php中的sessionId是干什么的?
SESSION_ID会话ID。
session_data是编码会话数据。这个数据是在PHP内部编码$_SESSION超全局,以序列化字符串,并把它当作这个参数的结果。
请注意会话使用替代序列化方法。
返回值
会话存储的返回值(通常成功返回 0,失败返回 1)。