在null上调用成员函数库()时出错



我从其他帖子中尝试了很多解决方案,但似乎什么都不起作用

这部分是我遇到麻烦的地方,但我不知道如何让它工作

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

控制器

<?php
namespace AppControllers;
class Home extends BaseController
{
public function __contruct()
{
parent::__construct();// you have missed this line.

}
public function index()
{
helper (['form']);
return view('inicio');
}
public function descarga()
{
return view('filesnames');
}
public function conta()
{
$this->load->library('form_validation');
$this->load->library('form');
return view('contact/index');
}
public function pregu()
{
return view('preguntas');
}
public function dud(){
return view('duda');
}
public function contact()
{

$autoload['libraries'] = array('session','Email','form','form_validation');
$autoload['helper']=array('form', 'url');
//Set form validation
$this->form_validation->set_rules('name', 'Name', 'trim|required|min_length[3]|max_length[20]');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|min_length[0]|max_length[60]');
$this->form_validation->set_rules('message', 'Message', 'trim|required|min_length[5]|max_length[200]');
//Run form validation
if ($this->form_validation->run() === FALSE)
{
$this->load->view('contacto');
} else {
//Get the form data
$name = $this->input->post('name');
$from_email = $this->input->post('email');
$subject = $this->input->post('subject');
$message = $this->input->post('message');
//Web master email
$to_email = 'admin@domain.com'; //Webmaster email, who receive mails
//Mail settings
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'mail@domain.com'; // Your email address
$config['smtp_pass'] = 'mailpassword'; // Your email account password
$config['mailtype'] = 'html'; // or 'text'
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE; //No quotes required
$config['newline'] = "rn"; //Double quotes required
$this->email->initialize($config);                        
//Send mail with data
$this->email->from($from_email, $name);
$this->email->to($to_email);
$this->email->subject($subject);
$this->email->message($message);

if ($this->email->send())
{
$this->session->set_flashdata('msg','<div class="alert alert-success">Mail sent!</div>');
redirect('contact');
} else {
$this->session->set_flashdata('msg','<div class="alert alert-danger">Problem in sending</div>');
$this->load->view('contacto');
}
}
}
}

查看

<body class="ecommerce">
<div class="header">
<div class="container">
<a class="site-logo" href="<?= site_url('/'); ?>"><img src="assets/images/home/logou2.png" class="logosi" alt=""></a>
<a href="javascript:void(0);" class="mobi-toggler"><i class="fa fa-bars"></i></a>
</div>
<!-- BEGIN NAVIGATION -->
<div class="header-navigation">
<ul>
<li><a href="<?= site_url('/'); ?>">Inicio</a></li>
<li><a href="<?php base_url()?>Asistentev16.apk" download="Asistentev16.apk">Descargar</a></li> 
<li><a href="<?= site_url('/cont'); ?>">Contactanos</a></li>   
<li><a href="<?= site_url('/faq'); ?>">Preguntas Frecuentes</a></li>         
</ul>
</div>
</div><br>
<div class="container">
<h2>Contact</h2>
<div class="row">
<?php $validation =  ConfigServices::validation(); ?>
<div class="col-lg-6">
<?php echo $_SESSION['msg']; ?>
<form action="<?php echo base_url('/submit-form') ?>" method="post">
<div class="form-group">Nombre
<?php echo form_input(array('name' => 'name', 'id' => 'name', 'size' => '50', 'value' => set_value('name'))) ?>
<?php if ($validation->getError('name')): ?>
<div class="invalid-feedback">
<?= $validation->getError('name') ?>
</div>                                
<?php endif; ?>
</div>
<div class="form-group">Email
<?php echo form_input(array('email' => 'email', 'id' => 'email', 'size' => '50', 'value' => set_value('email'))) ?>
<?php if ($validation->getError('email')): ?>
<div class="invalid-feedback">
<?= $validation->getError('email') ?>
</div>                                
<?php endif; ?>
</div>
<div class="form-group">Asunto
<?php echo form_input(array('subject' => 'subject', 'id' => 'subject', 'size' => '50', 'value' => set_value('subject'))) ?>
<?php if ($validation->getError('subject')): ?>
<div class="invalid-feedback">
<?= $validation->getError('subject') ?>
</div>                                
<?php endif; ?>
</div>
<div class="form-group">Mensaje
<?php echo form_input(array('message' => 'message', 'id' => 'message', 'value' => set_value('message'))) ?>
<?php if ($validation->getError('message')): ?>
<div class="invalid-feedback">
<?= $validation->getError('message') ?>
</div>                                
<?php endif; ?>
</div>
<button name="submit" type="submit" class="btn btn-primary" />Send</button>
</form>
</div>
</div>
</body>

Codeigniter 3.x没有名为"形式";。因此,除非您创建了这样一个库,否则对它的调用将返回一个错误。

另一方面有一个辅助函数";形式";,你可以用打电话

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

请遵循文件,这是一个很大的帮助:

表单验证

表单帮助

编辑,评论后:另一方面,这可能是由打字错误引起的:

public function __contruct()
{
parent::__construct();// you have missed this line.

}

应该肯定是public function __construct()

最新更新