为什么我在function里面定义的Session变量,在function外面不能访问呢?

s_delhpi 2003-08-20 08:07:17
为什么我在function里面定义的Session变量,在function外面不能访问呢?
...全文
97 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiniugogogo 2003-08-22
  • 打赏
  • 举报
回复
唔~~~
就是一个简单的东东,从PHP4.2开始就有了$_SESSION[] 超级全局数组,
什么$GLOBALS都不用了,程序如下:

<?php
session_start();
function Sadd()
{
$temp1="qqq";
$_SESSION["session_temp1"]=$temp1;

}
Sadd();
echo $_SESSION["session_temp1"];
?>
liyujie2000 2003-08-22
  • 打赏
  • 举报
回复
实践证明,
//--------------------------------------- 加上这个吧
$GLOBALS['session_temp1'] = $temp1;
$GLOBALS['session_temp2'] = $temp2;
$GLOBALS['session_temp3'] = $temp3;
//--------------------------------------- 加上这个吧
是有必要的。
liyujie2000 2003-08-21
  • 打赏
  • 举报
回复
Function里是这样的
<?php
function Sadd(){
$temp1="qqq";
$temp2="www";
$temp3="eee";
session_register("session_temp1");
session_register("session_temp2");
session_register("session_temp3");
$session_temp1=$temp1;
$session_temp2=$temp2;
$session_temp3=$temp3;
//--------------------------------------- 加上这个吧
$GLOBALS['session_temp1'] = $temp1;
$GLOBALS['session_temp2'] = $temp2;
$GLOBALS['session_temp3'] = $temp3;
//--------------------------------------- 加上这个吧
}
?>
外面访问是这样的
echo $session_temp1;


这样应该没有问题了
s_delhpi 2003-08-21
  • 打赏
  • 举报
回复
Function里是这样的
<?php
function Sadd(){
$temp1="qqq";
$temp2="www";
$temp3="eee";
session_register("session_temp1");
session_register("session_temp2");
session_register("session_temp3");
$session_temp1=$temp1;
$session_temp2=$temp2;
$session_temp3=$temp3;

}
?>
外面访问是这样的
echo $session_temp1;
causky 2003-08-21
  • 打赏
  • 举报
回复
<?php
function Sadd(){
$temp1="qqq";
$temp2="www";
$temp3="eee";
session_register("session_temp1");
session_register("session_temp2");
session_register("session_temp3");////应该这样
$session_temp1=$temp1;//$_SESSION["session_temp1"]=$temp1;
$session_temp2=$temp2;//$_SESSION["session_temp2"]=$temp2;
$session_temp3=$temp3;//$_SESSION["session_temp3"]=$temp3;

}
?>
ps:$_SESSION本身就是superglobal,在任何地方都不需要global
skystar008 2003-08-20
  • 打赏
  • 举报
回复
用GLOBLE来声明一下可能行的。
WalkSing 2003-08-20
  • 打赏
  • 举报
回复

$HTTP_SESSION_VAR["USER"]
在类,函数中。
bushido 2003-08-20
  • 打赏
  • 举报
回复
$Session["tt"]="fff";
function getxx(&$sessionvar){
$sessionvar="ggg";
}
$f=getxx($Session["tt"]);
剑心 2003-08-20
  • 打赏
  • 举报
回复
若是全局变量,自然是能访问的啦

若是还有问题,则使用global关键字,在每一个调用它的地方使用就绝对ok
神鹰 2003-08-20
  • 打赏
  • 举报
回复
什么都没写,怎么知道错误在哪里,把代码贴出来
cnredarrow 2003-08-20
  • 打赏
  • 举报
回复
在函数里注册SESSION变量
$_SESSION['NAME'] = $VAR
blueoxygen 2003-08-20
  • 打赏
  • 举报
回复
看看代码
DFlyingchen 2003-08-20
  • 打赏
  • 举报
回复
代码是怎样的呢?
xuzuning 2003-08-20
  • 打赏
  • 举报
回复
要看你是如何定义的了
ustb 2003-08-20
  • 打赏
  • 举报
回复
哪怕有一行代码也行呀。
没有砖头造不了房子。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧