Signaler

Fatal error insertion formulaire CodeIgniter [Résolu]

Posez votre question roms75001 387Messages postés mercredi 26 septembre 2007Date d'inscription 5 avril 2017 Dernière intervention - Dernière réponse le 7 janv. 2017 à 11:27 par roms75001
Bonjour,

Je développe un site avec CodeIgniter dont je ne maîtrise pas et j'ai l'erreur suivante :

( ! ) Fatal error: Call to a member function add_concours() on null in C:\wamp\www\Fbdev_Alex\application\controllers\Admin.php on line 41

Voici mon controller :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Admin extends CI_Controller {


    public function IndexAdmin()
    {
        $this->load->view('Admin/headerAdmin');
        $this->load->view('Admin/menuAdmin');
        $this->load->view('Admin/IndexAdmin');
        $this->load->view('Admin/footerAdmin');
        $this->load->helper('url');
    }

    public function create()
    {
        
        $this->load->helper(array('form', 'url'));

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


        $this->form_validation->set_rules('name_competition', 'Nom du concours', 'required');
        $this->form_validation->set_rules('create_accueil', 'Page d\'accueil', 'required');
        $this->form_validation->set_rules('create_prix', 'Page prix', 'required');
        $this->form_validation->set_rules('create_rules', 'Page régles', 
            'required');


        if ($this->form_validation->run() == FALSE)
        {
                $this->load->view('Admin/headerAdmin');
                $this->load->view('Admin/menuAdmin');
                $this->load->view('Admin/CreerConcours');
                $this->load->view('Admin/footerAdmin');
        }
        else
        {
                //Transfering data to Model
                $this->news_model->add_concours();
                $this->load->view('Admin/formsuccess');
        }

    }


Ma vue :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>


<!-- CONTENT -->
<!-- BLOC 1 -->
<section id="section-accueil" xmlns="http://www.w3.org/1999/html">
    <div class="creation_concours container">
        <h1 style="font-size: 31px; font-weight: 700;">Créez un concours</h1>
        <!-- <form method="post" action="" enctype="multipart/form-data"> -->


        <?php echo validation_errors(); ?>

        <?php echo form_open('admin/create'); ?> 

        <div class="row">

            <div class="col-xs-12 col-sm-12">


                <div class="form-group">
                    <label for="name_competition">Nom du concours : </label>
                    <input type="text" class="form-control" placeholder="Nom" name="name_competition"/>
                </div>


                <!-- <div class="form-group">
                    <label for="date_START">Date de début : </label>
                    <input type="date" class="form-control" id="date_START"
                           placeholder="JJ/MM/YYYY hh:mm" name="date_START" />
                </div>

                <div class="form-group">
                    <label for="date_END">Date de fin : </label>
                    <input type="date" class="form-control" id="date_END"
                           placeholder="JJ/MM/YYYY hh:mm" name="date_END" />
                </div>-->

            </div>

        </div>

        <div class="row">

            <h1 style="font-size: 31px; font-weight: 700; text-align: center">Création des
                pages</h1>

            <div class="col-xs-12 col-sm-12">
                <div class="form-group">
                    <label for="create_accueil">Page d'accueil : </br></label>
                    <textarea name="create_accueil" id="create_accueil" cols="30" rows="10">Page d'accueil, blablabla</textarea>
                </div>
                <div class="form-group">
                    <label for="create_prix">Page Prix : </br></label>
                    <textarea name="create_prix" id="create_prix" cols="30" rows="10">Page Prix, blablabla</textarea>
                </div>
                <div class="form-group">
                    <label for="create_rules">Page Régles : </br></label>
                    <textarea name="create_rules" id="create_rules" cols="30" rows="10">Page Régles, blablabla</textarea>
                </div>
                <div class="choix_template">
                    <button type="button" class="button btn">Choisir Template</button>
                </div>
                <div class="validation_concours">
                    <input type="submit" name="validation_concours" class="button btn" value="Valider" />
                </div>
            </div>


        </div>
        </form>
    </div>

</section>



et mon Model :

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class News_model extends CI_Model
{

 /**
 * Ajouter un concours
 */
 public function add_concours()
 {

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

  $data = array(
   'nom' => $this->input->post('name_competition')
  );


  return $this->db->insert('concours', $data);

 }
 
 /**
  * Édite une concours déjà existant
  */
 public function edit_concours()
 {
  
 }
 
 /**
  * Supprime une concours
  */
 public function delete_concours()
 {
  
 }
 
 /**
  * Retourne une liste des concours
  */
 public function list_concours()
 {
  
 }
}


/* End of file news_model.php */
/* Location: ./application/models/news_model.php */



Seriez-vous m'indiquer d'ou vient le problème ?

Merci d'avance pour votre aide
Afficher la suite 
Utile
+0
plus moins
Bonjour

News au lieu de news peut-être
roms75001 387Messages postés mercredi 26 septembre 2007Date d'inscription 5 avril 2017 Dernière intervention - 7 janv. 2017 à 00:36
Bonsoir,

Oui c'est vrai que j'ai oublié la majuscule mais même avec cette modif j'ai toujours la même erreur
Répondre
jordane45 17533Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 24 juin 2017 Dernière intervention - 7 janv. 2017 à 00:59
Tu n'as pas loade la class News_model non ?
Répondre
roms75001 387Messages postés mercredi 26 septembre 2007Date d'inscription 5 avril 2017 Dernière intervention - 7 janv. 2017 à 11:27
Nickel c'était ca...

Merci
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !