4 pièce(s) jointe(s)
Codeigniter 3 - Passage de données du controleur à la vue ne fonctionne pas
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
Pièce jointe 634663
Code:
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(); |
Jusque là, tout fonctionne
Pièce jointe 634664
Par contre, lorsque j'envoie à la vue, le $data ne passe pas ?
Dans le controleur :
Code:
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); |
Ici ou est dans la vue de ajouter.php
Code:
1 2 3 4 5
| <?php
// ici on est dans le fichier php ajouter.php
//echo validation_errors();
print_r($mot); |
Pièce jointe 634665
Aucun problème si je ne rentre pas dans le if de duplication.
Pièce jointe 634666
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