How do I resolve the error "PHP Notice: Use of undefined constant"?

user1175105 picture user1175105 · Jan 30, 2012 · Viewed 29.5k times · Source

I have a strange error message after using the post to wall function. It did successfully post to the wall however i got a very weird strange error.

[30-Jan-2012 23:36:49] PHP Notice: Use of undefined constant message - assumed 'message' in C:\www\jetstar\starpick\rewards.php on line 33

[30-Jan-2012 23:36:49] PHP Notice: Use of undefined constant picture - assumed 'picture' in C:\www\jetstar\starpick\rewards.php on line 34

[30-Jan-2012 23:36:49] PHP Notice: Use of undefined constant link - assumed 'link' in C:\www\jetstar\starpick\rewards.php on line 35

[30-Jan-2012 23:36:49] PHP Notice: Use of undefined constant name - assumed 'name' in C:\www\jetstar\starpick\rewards.php on line 36

[30-Jan-2012 23:36:49] PHP Notice: Use of undefined constant caption - assumed 'caption' in C:\www\jetstar\starpick\rewards.php on line 37

This is the codes i use

$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!!!"));

Answer

Marc B picture Marc B · Jan 30, 2012

You've forgotten quotes around your key names:

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

and the same for all the other parts of your array.

Keys in PHP MUST be quoted, otherwise they're assumed to be constants. PHP will politely treat undefined constants as unquoted strings, but will give you those warnings.