nctfleetlist Posted January 25, 2011 Share Posted January 25, 2011 I am using simple machines forum, and by placing a link to ssi.php in the top of my php page <?php require_once('/forum/SSI.php');?> I am able to use some ssi functions. My problem is calling another function from within a function. My first function is this: <?php $allowed_groups = array(1,5); $can_see = FALSE; foreach ($allowed_groups as $allowed) if (in_array($allowed, $user_info['groups'])) { $can_see = TRUE; break; } if ($can_see) { echo ' <div> this is text that i want certain groups to see </div>'; } else { //message or section to show if they are not allowed. echo 'this is text that i dont want certain groups to see'; } ?> This is my second function: <?php ssi_welcome(); ?> I want to put the second function inside the first function, like so: if ($can_see) { echo ' <div> <?php ssi_welcome(); ?> </div>'; this just gives me the "<?php ssi_welcome(); ?>" displayed on the actual site, it is not calling the separate function. I have tried different approaches, e.g. $function ssi_welcome; but all it does is display this as text as well.. Please can some one point me in the right direction. Thank you Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/ Share on other sites More sharing options...
BlueSkyIS Posted January 25, 2011 Share Posted January 25, 2011 the first code you posted is not a function. a function starts like this: function someFunctionName() { // Function contents } Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165230 Share on other sites More sharing options...
BlueSkyIS Posted January 25, 2011 Share Posted January 25, 2011 but perhaps the solution is as simple as this? echo '<div>' . ssi_welcome() . '</div>'; Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165233 Share on other sites More sharing options...
nctfleetlist Posted January 25, 2011 Author Share Posted January 25, 2011 thanks for your quick reply, I am still learning php so got confused with what is and what is not a function lol. doing what you suggested I either get " Parse error: syntax error, unexpected '>' in [full path to my file name] If I use a backslash (\) to quit the apostrophe's (') it simply prints the text as is: (' . ssi_welcome() . ' '; ) Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165237 Share on other sites More sharing options...
Mr Hyde Posted January 25, 2011 Share Posted January 25, 2011 What kind of output are you expecting from ssi_welcome()? Does it print something to the screen? Does it return a variable? Do you know? Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165241 Share on other sites More sharing options...
nctfleetlist Posted January 25, 2011 Author Share Posted January 25, 2011 As far as I am aware it prints something to the screen. In normal circumstances <?php ssi_welcome(); ?> displays as "Wecome Guest" or if user is logged in "welcome member_name" Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165242 Share on other sites More sharing options...
BlueSkyIS Posted January 25, 2011 Share Posted January 25, 2011 can you post the updated code and the line number referenced in the parse error? Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165243 Share on other sites More sharing options...
nctfleetlist Posted January 25, 2011 Author Share Posted January 25, 2011 Parse error: syntax error, unexpected '>' in /home/nctflee1/public_html/account/test.php on line 24 <?php $allowed_groups = array(1,5); $can_see = FALSE; foreach ($allowed_groups as $allowed) if (in_array($allowed, $user_info['groups'])) { $can_see = TRUE; break; } if ($can_see) { echo ' <div> <font class="font">'<div>' . ssi_welcome() . '</div>'; </div></font> </div>'; } else { //message or section to show if they are not allowed. echo ''; } ?> thanks for your help so far Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165248 Share on other sites More sharing options...
Mr Hyde Posted January 25, 2011 Share Posted January 25, 2011 <?php $allowed_groups = array(1,5); $can_see = FALSE; foreach ($allowed_groups as $allowed) if (in_array($allowed, $user_info['groups'])) { $can_see = TRUE; break; } if ($can_see) { echo ' <div> <font class="font"><div>' . ssi_welcome() . '</div> </div></font> </div>'; } else { //message or section to show if they are not allowed. echo ''; } ?> That should work... Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165250 Share on other sites More sharing options...
nctfleetlist Posted January 25, 2011 Author Share Posted January 25, 2011 It worked a treat!! Thank you ever so much for your time and help Mr Hyde, it is most appreciated!!! Link to comment https://forums.phpfreaks.com/topic/225674-function-calling/#findComment-1165255 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.