Php 调用未定义的函数form_close()
我是PHP Codeigniter框架的新手。 我的代码中有这个错误,我不能考虑这个错误。 使用登录验证和flashdata(消息),但未获得正确的输出,代码中有错误 视图:-Php 调用未定义的函数form_close(),php,codeigniter,Php,Codeigniter,我是PHP Codeigniter框架的新手。 我的代码中有这个错误,我不能考虑这个错误。 使用登录验证和flashdata(消息),但未获得正确的输出,代码中有错误 视图:- <div class="row justify-content-center"> <div class="col-6"> <h1><?php echo $title ?></h1> &
<div class="row justify-content-center">
<div class="col-6">
<h1><?php echo $title ?></h1>
<?php if($this->session->flashdata('message')) { ?>
<div class="alert alert-danger"><?php echo $this->session->flashdata('message')?></div>
<?php }?>
<?php echo form_open('user/login', array('id' => 'loginForm') ) ?>
<div class="form-group" >
<input type="text" name="email" id="email" class="form-control" placeholder="email" />
<?php echo form_error('email','<div class="error">','</div>') ?>
</div>
<div class="form-group" >
<input type="password" name="password" id="password" class="form-control" placeholder="password" />
<?php echo form_error('password','<div class="error">','</div>') ?>
</div>
<div class="form-group" >
<input type="submit" name="submit" value="Login" class="btn btn-primary" />
</div>
<?php echo form_close(); ?>
</div>
您必须在Autoload.php
中加载表单帮助程序,就像$Autoload['helper']=array('form')代码>,在表单操作中,您提到了用户/登录
路径,但下面您加载了管理员
控制器。您遇到了什么错误,在这里,当您的登录代码位于管理员控制器中时,您似乎正在向用户控制器发送表单数据。您需要加载(或自动加载)表单帮助程序以启用表单打开()
和表单关闭()
<?php
function __construct() {
parent::__construct();
$this->load->library('form_validation');
}
public function login()
{
$data['title'] = "Login";
$this->form_validation->set_rules('email','email','trim|required|valid_email');
$this->form_validation->set_rules('password','password','required');
$this->form_validation->set_error_delimiters('<div class="error">','</div>');
if($this->form_validation->run() == false)
{
$this->load->view('admin/login', $data);
$this->load->view('home/index',$data );
}
else{
$email = $this->security->xss_clean($this->input->post('email'));
$password = $this->security->xss_clean($this->input->post('password'));
$admin = $this->admin_model->login($email,$password);
if($admin){
$userdata = array(
'id' => $admin->id,
'first_name' => $admin->first_name,
'last_name' => $admin->last_name,
'authenticated' => TRUE
);
$this->session->set_userdata($userdata);
redirect('dashboard');
}
else{
$this->session->set_flashdata('message','Invalid email or Password');
redirect('admin/login');
}
}
}
public function logout()
{
$this->session->sess_destroy();
redirect('admin/login');
}