session共用问题求助,急! 公用SESSION,也不用这样啊。a.php内容:session_start();$_SESSION["a"]=1;requre_once('b.php');b.php内容:session_start();$_SESSION["b"]=1; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的,我试过了,这样不行的呀?b.php是在a.php里fopen的,不是require,因为还有其余冲突的东西,不能用require a.php============<?phpsession_start();$_SESSION["a"] = 1;require( "b.php");?>b.php==========<?php//session_start();$_SESSION["b"] = 2;print_r($_SESSION);?>运行a.php结果是=====================Array( [a] => 1 [b] => 2) 晕,不是require( "b.php");而是fopen("b.php") 用require肯定是没问题的啦,由于两个文件有冲突的地方,只能用FOPEN,帮忙看看为啥原因??? 用FOPEN的话,如果你是打开本地的,肯定是URL,无法共享SESSION,因为它是打开另一个网站,或者说只读取文件内容。看看其他人的意见为什么用require不可以呢?有什么难言之瘾不防说出来大家讨论下。 哦,b.php是另一个模块,其他人写的,里面有很多和a.php冲突的地方,直接用require肯定不行,b.php里面设置了session,我的a.php在调用后需要用到。用fopen(b.php)是打开本机的url,那我用类似于跨域共享session的方法为啥不行呢?直接调用http://localhost/b.php?sessionid=xxxx是可以的,而我在a.php中调用fopen("http://localhost/b.php?sessionid=xxxx")就不能打开??? 要 不就 建一个表,存贮SESSION?LZ参考下这篇文章http://www.eb163.com/article.php?id=75&PHPSESSID=d226cc07cec0580ec7dad47119ee4667 将fopen 换成 file_get_contents 试试 本来这样就是行不通的,a页面是用户打开的,b页面是你在a页面打开的,也就是说在服务器打开的,完全不一样啊 你可以再B.php页面里先把SESSION_ID 生成,然后在A页面中也生成。然后两个对比一下 。 a.php内容:session_start();$_SESSION["a"]=1;$session_id=$_SESSION["a"];fopen("http://...../b.php?sessionid=".$session_id.""); //打开远程绝对地址,本地可接相对地址可以把$session_id值传给b.php 补充a.php内容:session_start();$_SESSION["a"]=1;$session_id=$_SESSION["a"];fopen("http://...../b.php?sessionid=".$session_id.""); fclose("http://...../b.php");//关闭文件 SESSION 这样公用是不太好 的....具体可能会有办法.为什么不用 数据库.或者memcached server 呢?不要在一棵树上吊死... 把session_id通过url get 到 b.php 然后在b.php中让它赋值给b.php页面的session值不就行了吗 楼上的,我现在就是用url get传参数的,就是用这个不行的呀!看来只能改用别的方式了多谢各位 没太看懂!同一个sessinId,只有一个session文件如果想共用,可以一直读那个session Id读后,可以重设session变量! php的网站显示有问题 adodb 分页问题! <OBJECT>问题,大家帮忙看看是怎么回事! 如何用file写入文件? 请进来看看,谢谢。 有软件地址,怎么批量下载软件?十万火急!!!!!!!!!! 请CSDN尊重开源精神-BLOG使用FCKeiditor在线编辑器竟然去掉了about项。 图像处理 请介绍几个好的有关PHP的论坛,类似delphibbs,csdn中的delphi板块的人多的,很旺的!!!!!!!!!!!!!!!! 不同版本的MYSQL数据导入回出错吗? 怎么用类把数据库内容读取出来 session一问,高手帮忙
============
<?php
session_start();
$_SESSION["a"] = 1;
require( "b.php");
?>b.php
==========
<?php
//session_start();
$_SESSION["b"] = 2;print_r($_SESSION);
?>
运行a.php结果是
=====================
Array
(
[a] => 1
[b] => 2
)
而我在a.php中调用fopen("http://localhost/b.php?sessionid=xxxx")就不能打开???
LZ参考下这篇文章
http://www.eb163.com/article.php?id=75&PHPSESSID=d226cc07cec0580ec7dad47119ee4667
session_start();
$_SESSION["a"]=1;
$session_id=$_SESSION["a"];
fopen("http://...../b.php?sessionid=".$session_id.""); //打开远程绝对地址,本地可接相对地址
可以把$session_id值传给b.php
a.php内容:
session_start();
$_SESSION["a"]=1;
$session_id=$_SESSION["a"];
fopen("http://...../b.php?sessionid=".$session_id."");
fclose("http://...../b.php");//关闭文件
具体可能会有办法.为什么不用 数据库.或者memcached server 呢?不要在一棵树上吊死...
看来只能改用别的方式了
多谢各位
如果想共用,可以一直读那个session Id
读后,可以重设session变量!