我已经阅读了很多关于此的内容,找到了一些不错的答案并解决了我的问题。但我仍然不明白为什么。
_check.php
包含在每个页面上以检查某些内容,包括是否有人登录。经过大量检查(if/elseif/else)后,它以:
{$chklogin = 'yes'} else {$chklogin = 'no';}
当我在页面上显示此字符串 ($chklogin) 时,它工作得很好......检查中缺少的任何内容和 $chklogin 显示没有。只有当所有检查都正常时才会显示是。当我把这个字符串放在一个函数中......
function login() {
if($chklogin == 'yes') {return 'J';} else {return 'N';}}
$chklogin
仍然是,调用函数login()
返回N
。我通过放入...解决了$chklogin
这个$_SESSION
问题
function login() {
if($_SESSION['chklogin'] == 'yes') {return 'J';} else {return 'N';}}
现在两者$chklogin
都有$_SESSION['chklogin']
相同的结果。
谁能告诉我为什么第一个功能不起作用(带有 的那个$chklogin
),我真的很想了解我做错了什么。
编辑:谢谢很多人,我仍然不完全理解,但你让我走上了正确的学习道路。已经阅读了有关全局变量的更多信息并将值作为参数传递。我想我的问题已经回答了,再次感谢!