如何解决错误“PHP通知:使用未定义的常量”?

时间:2012-01-30 15:42:06

标签: php facebook facebook-wall

  

可能重复:
  Notice: Use of undefined constant Quantity - assumed 'Quantity'

使用post to wall功能后,我收到一条奇怪的错误消息。它确实成功发布到墙上但是我有一个非常奇怪的奇怪错误。

  

[30-Jan-2012 23:36:49] PHP注意:使用未定义的常量消息    - 在第33行的C:\ www \ jetstar \ starpick \ rewards.php中假设'消息'

     

[30-Jan-2012 23:36:49] PHP注意:使用未定义的常量图片    - 在第34行的C:\ www \ jetstar \ starpick \ rewards.php中假设“图片”

     

[30-Jan-2012 23:36:49] PHP注意:使用未定义的常量链接 -   假设第35行的C:\ www \ jetstar \ starpick \ rewards.php中的“链接”

     

[30-Jan-2012 23:36:49] PHP注意:使用未定义的常量名称 -   假设第36行的C:\ www \ jetstar \ starpick \ rewards.php中的“名称”

     

[30-Jan-2012 23:36:49] PHP注意:使用未定义的常量标题    - 在第37行的C:\ www \ jetstar \ starpick \ rewards.php中假设'标题'

这是我使用的代码

$facebook->api("/me/feed", "post", array(
    message => "I have won a ".$prizename,
    picture => "http://i1172.photobucket.com/albums/r574/092810c/starpicklogo-1.png",
    link => "https://apps.facebook.com/starpick/",
    name => "StarPick",
    caption => "Stand to Win Attractive Prizes!!!"));

2 个答案:

答案 0 :(得分:9)

您忘记了密钥名称的引号:

'message' => "I have won a ".$prizename,
^-------^--- missing

和数组的所有其他部分相同。

必须引用PHP中的键,否则它们被认为是常量。 PHP会礼貌地将未定义的常量视为不带引号的字符串,但会给你那些警告。

答案 1 :(得分:0)

数组键也应该放在引号中。

好的代码是:

$facebook->api("/me/feed", "post", array(
"message" => "I have won a ".$prizename,
"picture" => "http://i1172.photobucket.com/albums/r574/092810c/starpicklogo-1.png",
"link" => "https://apps.facebook.com/starpick/",
"name" => "StarPick",
"caption" => "Stand to Win Attractive Prizes!!!"));