【问题标题】:Page not found error in Codeigniter: Call to undefined function form_open()Codeigniter 中找不到页面错误:调用未定义的函数 form_open()
【发布时间】:2015-06-12 22:48:17
【问题描述】:

我正在尝试在 codeigniter 中启用用户注册和登录。 但是出现错误

致命错误:调用未定义的函数 form_open() C:\xampp\htdocs\myfolder\application\views\signup_form.php 在第 10 行

任何建议 我的网址是这样的

/localhost/myfolder/index.php/signup/

我创建控制器

<?php
class signup extends CI_Controller {

    function Home(){
        parent::Controller();
        $this->load->library('form_validation');
    }

    public function index(){

            $this->load->view('signup_form');

    }
}
?>

注册表格

<!DOCTYPE html>
<html>
<head>
<title>Create Contact Form Using CodeIgniter</title>
<link href='http://fonts.googleapis.com/css?family=Marcellus' rel='stylesheet' type='text/css'>
<link href="http://localhost/CodeIgniter/css/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<?php echo form_open('main_controller'); ?>
<h1>Create Contact Form Using CodeIgniter</h1>
<?php echo form_label('Student Name :'); ?>
<?php echo form_input(array('id' => 'dname', 'name' => 'dname')); ?>
<?php echo form_label('Student Email :'); ?>
<?php echo form_input(array('id' => 'demail', 'name' => 'demail')); ?>
<?php echo form_label('Student Mobile No. :'); ?>
<?php echo form_input(array('id' => 'dmobile', 'name' => 'dmobile')); ?>
<?php echo form_label('Student Address :'); ?>
<?php echo form_input(array('id' => 'daddress', 'name' => 'daddress')); ?>
<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>
<?php echo form_close(); ?>
</div>
</body>
</html>

【问题讨论】:

标签: php codeigniter


【解决方案1】:

你需要加载form helper 才能使用form_open 方法。

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

编辑

如果你只需要 index 方法,把它放进去。如果您在控制器中的很多方法中都需要它,只需将它放在构造函数中即可。尽量避免加载不必要的文件。它可以减少内存消耗。

希望对你有用。

【讨论】:

  • 我应该把它放在哪里?
【解决方案2】:

试试这个

function Home() {
    parent::Controller();
    $this->load->library('form_validation');
    $this->load->helper('form');
}

public function index() {
    $this->load->view('signup_form');
}

【讨论】:

    【解决方案3】:

    请试试这个。

    <?php
        class Signup extends CI_Controller {
             public function __construct() {
                    parent::__construct();
                    $this->load->helper('form');
                    $this->load->library('form_validation');
            }
    
            public function index() {
                $this->load->view('signup_form');
            }
        }
    ?>
    

    【讨论】:

    • 成功但当我尝试登录时出现错误A Database Error Occurred Error Number: 1146 Table 'tablename.user' doesn't exist url 是http://localhost/myfolder/index.php/user/login
    • 您是否在数据库中创建了user 表??
    • 有一个与此相关的问题。请查看stackoverflow.com/questions/10908843/…
    【解决方案4】:

    你需要在父类中传递辅助数组

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

    我们大部分需要 4 种类型的函数来传递辅助数组

    $this->load->helper(array('text','html','url','form'));
    

    这是基本的帮助数组 url 将帮助你传递 base_url();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 2021-11-27
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多