Codeigniter视图加载到一个视图中,但不加载另一个视图

时间:2011-10-07 09:18:53

标签: php codeigniter

我的views文件夹中有sidebar.php。它包含以下代码:

<div class="title_box">
    Login
</div>
<div class="border_box">
    <div style="height:150px">
        <br/>
        <?php echo form_open('login'); ?>
        <strong>Username:</strong> <input type="text" name="username" size="13"/><br/>
        <strong>Password:</strong> <input type="password" name="password" size="13"/><br/>
        <div class="login_button">
            <p><input type="image" src="/igniter/assets/images/login.gif" name="login"></p>
        </div>
        </form>
        <div class="forgot_name">
            <br/>
            <a href="">Forgot username or password?</a>
        </div>
    </div>
</div>

我还有另外两个观点。 index.php和registration.php。

在registration.php中,在适当的时候,我这样做:

$this->load->view('sidebar')

它在我的注册页面中完全按预期加载我的侧边栏。

但在index.php视图中,相同的代码会给我一个错误,并拒绝显示侧边栏。

这是我得到的错误:

codeigniter error

1 个答案:

答案 0 :(得分:2)

你需要在调用这些视图的控制器中加载表单助手或form_validation库(它自动包含表单和url助手)(或者其中一个,因为视图是缓冲的,所以你可以在另一个内部调用一个并具有相同的变量可用)。

错误意味着没有加载函数form_open(),它位于表单助手中。

向@Robin Castlin致谢示例代码。 在您的控制器中,加载

$this->load->helper('form');

或者只是

$this->load->library('form_validation');

您可以加载您的观点。