变量没有在包含文件中转移

时间:2016-02-03 13:27:15

标签: php html variables include

我已在此处或在Google上搜索过答案,但我找不到有此问题的人。 (或者我很蠢)

我有一个页面创建一个从sql查询获取数组的变量,然后,此页面包含另一个页面。 但是包含的人告诉我变量是未定义的。 这是我的代码:

/controller/page1.php

include_once("../model/database_connection.php");
include_once("../model/members.php");

$membersList = selectAllMembers();

foreach ($membersList as $key => $member)
{
    $membersList[$key]['pseudo_member'] = htmlspecialchars($member['pseudo_member']);
}

include_once("../view/page1.php");

/view/page1.php

<?php foreach ($membersList as $member)
{ ?>
    <div class="table_row">
        [...]
    </div>
<?php } ?>

错误:

Notice: Undefined variable: membersList in C:\wamp\www\project\view\page1.php

/model/members.php

function selectAllMembers()
{
    global $mysqli;
    $queryString = 'SELECT * FROM `members`';
    $queryResult = $mysqli->query($queryString);
    $resultArray = false;

    if (!$queryResult)
    {
        echo "selectAllMembers query failed: (" . $mysqli->errno . ") " . $mysqli-error;
    }
    else
    {
        $resultArray = $queryResult->fetch_all(MYSQLI_ASSOC);
    }

    return $resultArray;
}

提前致谢:)

1 个答案:

答案 0 :(得分:0)

我完全愚蠢! 问题来自我的URL重写... 我在我的重写规则中使用了我的视图,而不是我的控制器。

<强>之前

RewriteRule ^members/list.html$ view/page1.php [L]

<强>后

RewriteRule ^members/list.html$ controller/page1.php [L]

但感谢您的评论。 :)