经常看到这个,是什么意思?
[color=#007700]if(![/color][color=#0000bb]defined[/color][color=#007700]([/color][color=#dd0000]'IN_SITE'[/color][color=#007700])) {[/color][color=#ff8000]//exit('Access Denied');
经常在一些代码的前面看到这个,是什么意思?[/color] 检查上下文中的常量'IN_SITE'是否定义
你可以查看php手册中关于常量和变量定义那一节 防止浏览器直接调用输出 这个其实是为了防止别人从本地构造表单请求到这个文件所写的。下面那行其实不应该注释掉。
他会在一个文件中定义一个常量IN_SITE,然后这个文件包含那个文件,在这里判断IN_SITE如果存在的话,就说明你是通过正常顺序来访问的这个文件,否则你就是从非法途径过来的,就给你显示个access denied,非法访问,这个很有用。 我假如在数据库连接页面里使用了这个,在其他调用数据库连接页面中,我该怎么写?
defined('IN_SITE','111');
这样去写,发现还是不行,还是出现'Access Denied' [color=red]define[/color]('IN_SITE',TRUE); [quote]原帖由 [i]cnqn[/i] 于 2008-11-20 10:16 发表 [url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=734515&ptid=92056][img]http://bbs.phpchina.com/images/common/back.gif[/img][/url]
我假如在数据库连接页面里使用了这个,在其他调用数据库连接页面中,我该怎么写?
defined('IN_SITE','111');
这样去写,发现还是不行,还是出现'Access Denied' [/quote]
你写的什么defined -.-
你应该写 define('IN_SITE','111'); 楼上is very 强,
少个d多个d不一样的:biggrin:
回复 8# wodoe 的帖子
一个是定义常量一个是检查是否已经定义了此常量 define('IN_SITE',false);
发现这样写也是能通过的,唯一要注意的地方就是这个一定要写在include_once数据库文件上面
下面就会报错 [quote]原帖由 [i]cnqn[/i] 于 2008-11-20 10:48 发表 [url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=734600&ptid=92056][img]http://bbs.phpchina.com/images/common/back.gif[/img][/url]
define('IN_SITE',false);
发现这样写也是能通过的,唯一要注意的地方就是这个一定要写在include_once数据库文件上面
下面就会报错 [/quote]
你不是在判断 if(IN_SITE)
而且是在判断IN_SITE这个常量是否被定义,
不论他被定义成false和true...
页:
[1]
