Bonjour,
Je développe occasionnellement avec Codeigniter 3 que je connais relativement bien, mais là, je bloque sur un problème normalement relativement simple.
Le but est à partir d'un formulaire de modification, de récupérer les données de l'enregistrement original, d'enregistrer les modifications pour l'enregistrement en cours et d'envoyer les données originales à un formulaire d'ajout de données pour créer un duplicata de l'enregistrement original.
Le formulaire de modification
Jusque là, tout fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 // Récupération des données de l'enregistrment d'origine sans modifications $mot_dupliquer = array( 'fr' => $data['mot']->fr, 'ar' => $data['mot']->ar, 'informations' => $data['mot']->informations, 'tag' => $data['mot']->tag, 'slug' => $data['mot']->slug, 'source' => $data['mot']->source ); // Données de la demande qui vont être envoyées en modification $data_mot = array( 'mot_id' => $idMot, 'fr' => $this->input->post('fr'), 'ar' => $this->input->post('ar'), 'informations' => trim($this->input->post('informations')), 'tag' => $tag, 'slug' => $slug, 'source' => trim($this->input->post('source')), 'validation' => $this->input->post('validation') ); // Tout est ok au niveau de la validation du form > modification de la demande if ($this->lexique_model->modifierMot($data_mot)){ $erreur = false; if (!$erreur){ $this->session->set_userdata('message',array('type'=>'success','texte'=>'les modifications ont bien été effectuées.')); // redirect('lexique/lexique/details/'.$idMot); // en ca de demande de duplication if ($this->input->post('dupliquer' ) != NULL){ echo 'TEST'; echo '<pre>'; $data['mot'] = $mot_dupliquer; print_r($data['mot']); die();
Par contre, lorsque j'envoie à la vue, le $data ne passe pas ?
Dans le controleur :
Ici ou est dans la vue de ajouter.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // en ca de demande de duplication if ($this->input->post('dupliquer' ) != NULL){ echo 'TEST'; echo '<pre>'; $data['mot'] = $mot_dupliquer; print_r($data['mot']); // die(); // $this->load->view('ajouter/', $data); redirect('lexique/lexique/ajouter/', $data);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php // ici on est dans le fichier php ajouter.php //echo validation_errors(); print_r($mot);
Aucun problème si je ne rentre pas dans le if de duplication.
J'ai pensé à une solution de contournement de ce problème, c'est à dire à créer directement le nouvel enregistrement, récupérer le lastid et relancer directement le formulaire de modification, mais je voudrais avant d'arriver à cette solution, comprendre pourquoi les données ne passent pas.
Merci pour votre aide
Patrice
Partager