扫码关注官方订阅号
为什么表单提交之后session的值会是post传过去的值呢?换个名字都可以正常,唯独用verify会出现这种现象
认证高级PHP讲师
这很可能是PHP的一个Bug。
因为$_SESSION中的变量保存使用的是引用,当register_globals设置为on的时候,如果全局变量中有名字和$_SESSION中的变量名一样(比如你的代码中的$verify变量和$_SESSION['verity']这两个verify),PHP会有不可预料的行为发生。所以,你的这个问题不是POST过去的值传到了$_SESSION中,而是$_SESSION['verify']错误地引用了全局的$verify变量。
$_SESSION
register_globals
on
$verify
$_SESSION['verity']
verify
$_SESSION['verify']
这在PHP的官方文档下用户的Comment中提到多次:http://php.net/manual/en/reserved.variables.session.php
Post 的值是从表单传过去的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这很可能是PHP的一个Bug。
因为
$_SESSION中的变量保存使用的是引用,当register_globals设置为on的时候,如果全局变量中有名字和$_SESSION中的变量名一样(比如你的代码中的$verify变量和$_SESSION['verity']这两个verify),PHP会有不可预料的行为发生。所以,你的这个问题不是POST过去的值传到了$_SESSION中,而是$_SESSION['verify']错误地引用了全局的$verify变量。这在PHP的官方文档下用户的Comment中提到多次:
http://php.net/manual/en/reserved.variables.session.php
Post 的值是从表单传过去的