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

Nom : lexique-form-modif.png
Affichages : 80
Taille : 32,0 Ko

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();
Jusque là, tout fonctionne

Nom : lexique-form-modif-02.png
Affichages : 80
Taille : 10,8 Ko

Par contre, lorsque j'envoie à la vue, le $data ne passe pas ?

Dans le controleur :

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);
Ici ou est dans la vue de ajouter.php

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);
Nom : lexique-form-modif-03.png
Affichages : 82
Taille : 29,0 Ko

Aucun problème si je ne rentre pas dans le if de duplication.

Nom : lexique-form-modif-04.png
Affichages : 77
Taille : 36,8 Ko

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