4.1.2中如何获取session的值?

辅导费卡了 2002-05-17 04:56:13
以前版本里面如果要取得一个如叫user的session,只要在文件开头先session_start();后就直接可以用$user来获取这个session的值,但是现在的4.1.2里面变掉了好像,我现在这么取值,就会提示没有定义$user这个变量。请问应该如何来活得这个session值呐?多谢各位
...全文
351 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbolive 2002-05-17
  • 打赏
  • 举报
回复
在PHP 4.2中,新安装的PHP中的register_globals选项默认为关闭,因此EGPCS值(EGPCS是Environment、Get、Post、Cookies、Server的缩写 -- 这是PHP中外部变量来源的全部范围)不会被作为全局变量来创建。当然,这个选项还可以通过手工来开启,但是PHP的开发者推荐你将其关闭。要贯彻他们的意图,你需要使用其它的方法来获取这些值。
从PHP 4.1开始,EGPCS值就可以从一组指定的数组中获得:
$_ENV -- 包含系统环境变量
$_GET -- 包含查询字符串中的变量,以及提交方法为GET的表单中的变量
$_POST -- 包含提交方式为POST的表单中的变量
$_COOKIE -- 包含所有cookie变量
$_SERVER -- 包含服务器变量,例如HTTP_USER_AGENT
$_REQUEST -- 包含$_GET、$_POST和$_COOKIE的全部内容
$_SESSION -- 包含所有已注册的session变量
在PHP 4.1之前,当开发者关闭register_globals选项(这也被考虑为提高PHP性能的一种方法)后,必须使用诸如$HTTP_GET_VARS这样的令人讨厌的名字来获取这些变量。这些新的变量名不仅仅短,而且它们还有其他优点。

在PHP 4.1中,添加了一组特殊数据以访问外部数据。这些数组可以在任何范围内调用,这使得外部数据的访问更方便。在PHP 4.2中,register_globals被默认关闭以鼓励使用这些数组以避免无经验的开发者编写出不安全的PHP代码。
辅导费卡了 2002-05-17
  • 打赏
  • 举报
回复
$HTTP_SESSION_VARS["user"]是好用的。多谢啊!呵呵。
banneryue 2002-05-17
  • 打赏
  • 举报
回复
PHP.INI中的register_global

或用$HTTP_SESSION_VARS看看
skimeister 2002-05-17
  • 打赏
  • 举报
回复
是这样的,现在PHP严格了一点,向一个从未付过的变量
取值/比较是会出现警告的,用empty()之类的检查则无所谓

21,886

社区成员

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

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