首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP与模板与代码加密/优化 » [提问]PHP中SESSION的注册方法  


  作者:camgame
  注册时间:2005-02-06
  主题/回复:1/0
  积分:405
  等级:★★☆(五级)
  称号:略有小成

  lcam252@163.com
  未提供
  mmwww.512j.com

 

 发表:2005-02-06 22:50:06 阅读 2357 次 回复 1 次 得分1  |   字号 字色
[提问]PHP中SESSION的注册方法
我的SESSION用数据库管理,
以前在PHP.INI设置中通常设置为:register_globals = On
现在设置为:OFF,现在出错了,
系统提示信息:
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

以前注册SESSION变量的方法:
$user="guest";
session_register("user");
现在register_globals = Off后不好使,
于是就这样设置:$_SESSION['user']= "guest";
session_register("user");
结果在另一个页面还是不能传递这个$user,.
而且在数据库表中发现,每到一个页面,session记录了
比如上面的"guest"后立即又产生了一个新的SESSION_ID,值是空的,
为什么会这样?请高手指点,谢谢!
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-02-14 17:30:19  评分:1 

我觉得,你的方法中:
$_SESSION['user']= "guest";
session_register("user");

把后面的一行去掉,就能解决“产生了一个新的SESSION_ID,值是空的”的问题。也就是,在注册session的时候,直接用:
$_SESSION['user']= "guest";
然后在另外的页面中使用这个session的值得时候:
$aa=$_SESSION["user"];
这样之后,$aa的值就是guest了。

如果session可以成功注册,但是只能在本页面中使用,不能传递到其他页面,那么可以参考本站这两篇文章解决:
http://wwww.17php.com/bbs/show_title.php?id=660
http://www.17php.com/bbs/show_title.php?id=661
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.007sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版