PHP function "return" is not returned

This is a little strange for me. PHP is my forte, and I can usually find out any problem I am having.

I have a user structure that I have been using for many years. I made a commitment to rewrite it, and I am doing essentially the same thing as before. The problem is the following build:

function ModPages_GetPage() {
    $page = ModPages_GetPageByName($_GET['page_name']);
    if($page != false) {
        include(TPL_DIR.'pages/pages.view.php');
    } else {
        ErrorMessage('Invalid Page', 'The selected page could not be found.');
    }
}


function ModPages_GetPageByName($page_name = null) {
    $db = new Database;
    $query = '
        SELECT *
        FROM pages
        WHERE page_name = "'.CleanStr($page_name).'"
            AND page_enabled = "yes"
        LIMIT 1
        ';
    $page = $db->GetRow($query);

    return $page;
}

This code is called with "home" for the value $_GET['page_name']. The call ModPages_GetPageByName()works fine, but the value $pageis ModPages_GetPage()not set to. In fact, any debug statements that were entered after this call do not display anything.

display_errors on, error_reporting E_ALL. , .

script . strace, , "exit_group (255)".

. - .

+5
8

, , , , . , .

0

, , ? star (*) , , , ? .

$query = '
        SELECT *
        FROM pages
        WHERE page_name = "'.CleanStr($page_name).'"
            AND page_enabled = "yes"
        LIMIT 1
        ';

print_r $page, ,

$page = $db->GetRow($query);
echo "Page:<pre>".print_r($page,true)."</pre><br />\n";

, , -

return $page['page_name_field'];
+1

ok, , , $page echo $_GET['page_name'], , .

0

script - ?

, . E_ALL , , display_errors error_reporting, , GetRow ? , , - Apache ( PHP).

, , , , . , ( : , - ) try/catch , catch.

0

:

  • $_GET $_REQUEST (, POST?)
  • print_r, .
  • mysql_error mysql- , / phpmyadmin, - ? .. ?
  • - , ANSI, php UTF8 + BOM... UTF8 + BOM, .
  • , , , , script - .
  • ? eaccelerator?
0

? , $page = $this- > ModPages_GetPageByName().

sql ModPages_GetPageByName(). , , SQL.

0

, , , .

, , , $db . , - , . , , .

$db = new Database ();
if ($db -> isConnected ())
{
    $query = 'SELECT * (etc etc etc)';
    // ...
}
else
{
    // Put some kind of DB connection error notification or throw an exception here
}

, . . , , :)

return ($db->GetRow($query));

getpage var_dump() . NULL, var_dump. , :). xdebug, var_dump .

$page = ModPages_GetPageByName($_GET['page_name']);
var_dump ($page);

var_dumping , , , , , . sqlyog phpmyadmin , , , , , , .

, , - , , page_enabled = 'yes'? page_enabled "", bool - ? ? , , , . ? script, , , , foreach . , , . , , , , , .

0

, $page , , ? ; , - .

, ModPages_GetPageByName . , (, if). .

, . , APC script , PHP.

0

All Articles