请选择 进入手机版 | 继续访问电脑版

 找回密码
 注册

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 测测你的龙年运势 地图任务一定要做 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图和邮件任务 朋友们,22岁那年,你在做啥?

写书评、邀请阅读赢精品图书! 想加薪?!蓝色理想招聘提供你更多机会 万元奖励等你拿——点点网模板设计大赛

查看: 5923|回复: 11

[php] php中变量没加引号 Notice:Use of undefined constant [复制链接]

colinivy 楼主

柯零艾薇

荣誉管理  

帖子
2073
体力
21238
威望
38
居住地
广东省 深圳市
发表于 2008-8-5 17:11:24 |显示全部楼层
php文件中如果变量不加引号,就会报错 如:
$config[title]="FinalFantasy";
Notice: Use of undefined constant title

怎么解决这个问题呢 ?

我已经将php.ini文件夹中的register_globals设置为On,重启过后还是不行。

ps:页面中出现一大堆Notice之后,IE下 原本正确显示的样式都会错位,FF正常

见习刺客

银牌会员

帖子
1490
体力
2910
威望
5
居住地
山东省 烟台市
发表于 2008-8-5 17:15:24 |显示全部楼层
变量 or 字符串?
帖子
8
体力
47
威望
0
发表于 2008-8-5 17:18:16 |显示全部楼层
title是个索引.是一定要加单引号的..
否则php会先去查找是否存在title这个常量.
然后再当索引处理.
效率相差是很大的.
至于错位问题不大,你把 notice 错误都处理掉,或者关掉 notice错误就可以了.


[ 本帖最后由 netxlong 于 2008-8-5 17:24 编辑 ]
saso 
帖子
201
体力
723
威望
0
居住地
广东省 佛山市
发表于 2008-8-5 18:57:55 |显示全部楼层
楼上所言即是。

灰色系

银牌会员

帖子
2455
体力
2470
威望
11
居住地
湖北省 黄冈市
发表于 2008-8-5 20:55:40 |显示全部楼层
数组元素的标准访问形式就应要加引号的,加与不加速度有差异的~
来蓝色两年了,第一次见“两袖清风”的管理员啊
头像都不要~
colinivy 楼主

柯零艾薇

荣誉管理  

帖子
2073
体力
21238
威望
38
居住地
广东省 深圳市
发表于 2008-8-5 22:13:06 |显示全部楼层
谢谢各位的答案  

蔚蓝的故乡

银牌会员  

帖子
1969
体力
2709
威望
1
居住地
辽宁省 沈阳市
发表于 2008-8-6 08:27:50 |显示全部楼层
程序中可以用error_reporting控制提示何种级别的错误
代码要像美女的裙子,越短越好

可爱宝贝

荣誉管理  

帖子
10024
体力
19513
威望
57
居住地
北京市 朝阳区
发表于 2008-8-6 08:46:12 |显示全部楼层

苦寒竹

管理员

帖子
19942
体力
18015
威望
23
居住地
浙江省 金华市
发表于 2008-8-6 08:57:02 |显示全部楼层
这问题不是看得很明白:
php文件中如果变量不加引号,就会报错 如:
$config[title]="FinalFantasy";
Notice: Use of undefined constant title

不知道为何要去设置register_globals为On

常量在引用时不需要加$,因此系统认为你的title是常量,但却没有定义。
一般来说,这事只要按手册或书上写的做就行了,有碰到问用双引号和单引号的问题,不过很少碰到不用引号的

Notice的话搜索php.ini的error_reporting,默认的报错级别是all,搜索到的内容上面还有些注释,比如:error_reporting = E_ALL & ~E_NOTICE,其中~的意思同!,此句意思为报所有错,但不包括notice

另外也可以在页面顶部写error_reporting(E_All);这样的。
可以在上线的程序中设置为error_reporting(E_ERROR | E_WARNING | E_PARSE);
搞IT的穷秀才。论坛,blog:http://www.flashgou.com
colinivy 楼主

柯零艾薇

荣誉管理  

帖子
2073
体力
21238
威望
38
居住地
广东省 深圳市
发表于 2008-8-6 10:37:42 |显示全部楼层
设置register_globals 也是在网上看来的方法

但是服务器上的config.php文件里面都是这么写着的($config[title]="FinalFantasy";)没有报错,而且执行也没有问题

Thanks all !
帖子
16023
体力
18825
威望
19
居住地
北京市 海淀区
发表于 2008-8-6 12:02:59 |显示全部楼层
register_globals 设置为 on狂占资源的吧.

可爱宝贝

荣誉管理  

帖子
10024
体力
19513
威望
57
居住地
北京市 朝阳区
发表于 2008-8-6 12:23:49 |显示全部楼层
那个配置文件写的有问题,那个作者连基础都不懂。
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|blueidea.com ( 京ICP备05002321号 )    

GMT+8, 2012-4-14 04:06 , Processed in 0.115670 second(s), 7 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部