l33t fl33t Posted June 27, 2008 Share Posted June 27, 2008 I'm having a rather odd problem, which I've been unable to troubleshoot. I have the following code: function test() {echo 'Success!';} $actions=array( 'Home'=>'news', 'Register'=>'test();', 'Members'=>'memberlist', 'Profile'=>'display_member', 'Summary'=>'display_member', 'Diplomacy'=>'test();'); $_REQUEST['actions']='Diplomacy'; return $actions[$_REQUEST['actions']]; Now, I'd like to have the return construct call the function test(), however I just can't seem to get it working. The odd thing is that it works fine if I output it to the screen with echo, so I'm guessing that it has something to do with the return. Help? Quote Link to comment Share on other sites More sharing options...
ScotDiddle Posted June 27, 2008 Share Posted June 27, 2008 l33t fl33t, Try: eval($actions[$_REQUEST['actions']]); // prints Success! Scot L. Diddle, Richmond VA Quote Link to comment Share on other sites More sharing options...
l33t fl33t Posted June 27, 2008 Author Share Posted June 27, 2008 Isn't eval something you're not supposed to use because of some security risk or something? Thanks for the fast reply, BTW! Quote Link to comment Share on other sites More sharing options...
l33t fl33t Posted June 27, 2008 Author Share Posted June 27, 2008 EDIT: Nevermind, I solved it myself. Turns out that appending () to return $actions[$_REQUEST['actions']] so that it reads 'return $actions[$_REQUEST['actions']]();' makes it execute as it should. Thanks a lot all the same! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.