Bonjour à tous,

Je développe mon backoffice pour mon blog, et j'ai un problème avec la fonction d'insertion d'article ...

Voilà mon formulaire :

<?= form_open('admin/add_article/');?>
<p><textarea name="article" id="markItUp" value="<?= set_value('article');?>"></textarea></p>
<p><input type="text" placeholder="Titre " name="titre" value="<?= set_value('titre');?>"></p>
<p><input type="submit" value="Prévisualiser" class="btn"></p>
<?= form_close();?>

Voilà mon controller :

function add_article()
{
  $data'titre'] = $this->input->post('titre');
  $data'article'] = $this->input->post('article');
  $this->admin_model->insert_article($data);
  $this->session->set_userdata('previous',$_SERVER'HTTP_REFERER']);
  redirect($this->session->userdata('previous'));
}

Mon model :

function insert_article()
  {
    $this->db->insert('article',$data);
  }

En toute logique mon code est bon. Certes je ne passe pas par la validation ordinaire (form->validate ...) mais j'utilise un parser par la suite .
Et voilà l'erreur que j'obtient :


Severity: Notice
Message: Undefined variable: data
Filename: models/admin_model.php
Line Number: 122


Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/admin/system/libraries/Exceptions.php:166)
Filename: codeigniter/Common.php
Line Number: 360


A Database Error Occurred
You must use the "set" method to update an entry

Pourquoi diable mon model ne recoit il pas mes données, que signifie le problème lié au header, et pourquoi CI croit que je veut faire un update ?! J'utilise bien pourtant db->insert ...

Si quelqu'un a une piste, je suis preneur !

D'avance, Merci !

2 réponses


cookie
Réponse acceptée

Bonjour,

Dans ton model, si tu n'envoies pas de variables à insérer, ça ne pourra jamais fonctionner !

function insert_article($data)
{
  $this->db->insert('article',$data);
}

Bonne journée.

Effectivement, j'ai vu mon erreur quelques minutes après avoir posté mon message !
Erreur d'inattention après 4j non-stop sur mon éditeur =D