【问题标题】:Codeigniter - form helper file is not found in admin sectionCodeigniter - 在管理部分找不到表单帮助文件
【发布时间】:2023-12-24 11:04:01
【问题描述】:

这是我的控制器文件和 codeignitor 中管理员登录部分的视图文件。 所有帮助文件都存在于根文件夹\system\helpers 在前端没问题,但在管理部分显示以下错误

致命错误:在第 4 行调用 D:\wamp\www\CodeIgniter\application\views\admin\catalog\catalog_view.php 中未定义的函数 form()

我认为我们必须更改某些内容或其他任何内容???

D:\wamp\www\CodeIgniter\application\controllers\admin\catalog.php

    <?php
    /**
     * Admin Catalog Controller
     */
    class Catalog extends CI_Controller
    {
        function index()
        {   
            $this->load->helper(array('form', 'url'));
            $this->load->library('form_validation');
            $this->load->view('admin/templates/header');
            $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
            $this->load->database();
            $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
            $this->form_validation->set_rules('password', 'Password', 'required|valid_email');
            if ($this->form_validation->run() == FALSE)
            {
                $this->load->view('admin/catalog/catalog_view');
            }
            else
            {   
                $this->form1_model->admin_login();
                $this->load->view('admin/catalog/home_view');
            }
            $this->load->view('admin/templates/footer');
            //$html_string = $this->load->view('admin/catalog/catalog_view');
        }
    }

D:\wamp\www\CodeIgniter\application\views\admin\catalog\catalog_view.php

    <?php if (!defined('BASEPATH')) exit(__('No direct script access allowed')); ?>
    <div class="light_blue_back" align="center">
         <div class="adminbox">
         **<?php echo form('adminform'); ?>**
              <fieldset>
                <legend><b>Admin Login</b></legend>
                <dl>
                    <dt>
                        <label for="street_address1"> <span class="req">*</span>Email</label>
                    </dt>
                    <dd>
                        <input type="text"  name="email" id="email"  value=""/>
                    </dd>
                </dl>
                <dl>
                    <dt>
                        <label for="street_address2">Password</label>
                    </dt>
                    <dd>
                        <input type="password" name="password" id="password"  value=""/>
                    </dd>
                </dl>
                <dl>
                    <dt>
                    </dt>
                  <dd>
                      <input type="submit"  value="Submit"   name="reg_sub" id="reg_sub"/>
                      <input type="reset" name="reg_reset" id="reg_reset" value="Reset"  />
                  </dd>
                </dl>
            </fieldset>
        </form> 
         </div>
    </div>

【问题讨论】:

  • 好吧,我使用的是 CodeIgniter 2.1.3,表单助手是由 form_open() 而不是 form() 调用的。查看docs,似乎没有定义任何form() 函数。

标签: php forms codeigniter helper


【解决方案1】:

catalog_view.php 中的整个代码都是纯 html,除了表单开始行。如果你想使用 codeigniter 的表单助手,你需要使用正确的函数:

echo form_open()
echo form_input()
echo form_label()
echo form_close()

等等。否则只需将第 4 行更改为标准 html 表单语法,您将不会收到错误。

【讨论】:

  • 如果答案对您有帮助,您可以通过单击复选标记将其标记为正确答案。谢谢