Lorsque je envoie mon URL http://localhost:8080/myScholarship/register
sur le serveur, j'obtiens une erreur 404. Mon nom de contrôleur est Register
et le nom de fichier est enregistré avec Register.php
. et j'appelle la fonction index()
.appel à l'un de mon contrôleur codeigniter renvoie erreur 404 mon code est correct
Ceci est mon contrôleur:
<?php
class Register extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index()
{
$this->load->view('pages/index');
}
/****************************************create*************************************/
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
//$data['title'] = 'Create a news item';
$this->form_validation->set_rules('surname', 'Surname', 'required');
$this->form_validation->set_rules('firstname', 'Firstname', 'required');
//$this->form_validation->set_rules('othername', 'Othername', 'required');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('phonenumber', 'Phonenumber', 'required');
$this->form_validation->set_rules('gender', 'Gender', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('confirmpassword', 'confirmpassword', 'required');
if ($this->form_validation->run() === FALSE)
{
//$this->load->view('templates/header', $data);
$this->load->view('index');
//$this->load->view('templates/footer');
}
elseif($this->input->post('password') != $this->input->post('confirmpassword')){
$data1 = "the password does not match";
$this->load->view('index',$data);
}
else
{
$file_data = '';
if((isset($_FILES['recentphoto']['name']) && !empty($_FILES['recentphoto']['name']))){
$file_data = './uploads/'.$_FILES['recentphoto']['name'];
}else{
$file_data = './uploads/images.jpg';
}
$file = do_upload();
if(isset($file['error'])){
$data1 = $file['error'];
$this->load->view('index',$data1);
}else{
$this->news_model->set_applicant($file['upload_data']);
$succ = "please login with your account details";
$this->load->view('index',$succ);
}
}
}
/*************************************end create***************************************/
public function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = 100000;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
if (! $this->upload->do_upload('recentphoto'))
{
return $error = array('error' => $this->upload->display_errors());
//$this->load->view('upload/upload', $error);
}
else
{
return $data = array('upload_data' => $this->upload->data());
//$this->load->view('upload/upload_success', $data);
}
}
}
?>
Ceci est mon routes.php
:
<?php
$route['register'] = 'register';
$route['news/create'] = 'news/create';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
?>
Faites un peu de débogage pour essayer de savoir à quel moment il échoue. Par exemple, insérez 'die ('asd')' dans le constructeur et voyez si vous voyez la sortie. Si vous le faites, essayez la même chose dans la méthode 'index()'. Si vous ne le voyez jamais, il y a un problème plus profond. J'ai déjà eu des problèmes avec les conventions de dénomination de fichier CI, mais d'après ce que vous dites, le fichier et la classe sont nommés correctement. – Utkanos
J'ai essayé de mettre une fonction die() dans le constructeur et toujours pas de changement, je suis totalement confus cela m'a vraiment pris longtemps pour résoudre –