Bonjour,

Dans une classe contrôleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
				/** Enregistrement de l'étudiant (partie candidat) */
				$objEtudiant = new Etudiant(null, trim($_POST['nomUsuel']), trim($_POST['prenomUsuel']), new Civilite(intval($_POST['civilite'])));
 
				$objEtudiant->setCanIdSexe(intval($_POST['civilite']));
				$objEtudiant->setCanPaysNationalite(new Pays(intval($_POST['nationalite'])));
				$objEtudiant->setCanNomNaissance(trim($_POST['nomNaissance']));
				$objEtudiant->setCanVilleNaissance(new Ville($form->verifExistenceVille($_POST['naissance'], "ville de naissance")));
// ...
 
$objEtudiant->enregistrerCandidat();
Jusque là, ça fontionne. La méthode enregistrerCandidat() (de la classe Candidat, mère de Etudiant) exécute une procédure SQL pi_ajout_candidat qui insère une personne puis la fille personne physique et la petite fille candidat.

Ensuite, dans la même classe que ci-dessus :
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
				/** Enregistrement des informations de l'étudiant */
				if(trim($_POST['numEtudiant']) == '')
				{
					$objEtudiant->setEtuNumero($objEtudiant->genererNumeroEtudiant(intval($_POST['diplome_ensfea']),
						intval($_POST['annee_universitaire']), intval($_POST['diplomeAnnee'])));
					$objEtudiant->setEtuAnneeEntree(intval($_POST['annee_universitaire']));
				}
				elseif(strlen(trim($_POST['numEtudiant'])) == 13)
				{
					$objEtudiant->setEtuNumero(trim($_POST['numEtudiant']));
					$objEtudiant->setEtuAnneeEntree($objEtudiant->chercheAnneeEntree(trim($_POST['numEtudiant'])));
				}
 
				// FIXME Année entrée calculée potentiellement écrasée par une saisie vide ou absurde
				$objEtudiant->setEtuAnneeEntree($_POST['anneeEntree']);
				$objEtudiant->setEtuAutorisationIzly(boolval($_POST['autorisationIzly']));
				$objEtudiant->setEtuAutorisationPhoto(boolval($_POST['fichierAutorisationPhoto']));
 
				/* **** Enregistrement de l'étudiant en BDD *** */
				$objEtudiant->enregistrerEtudiant();
De la même manière qu'à la première étape, la méthode enregistrerEtudiant() de la classe Etudiant exécute une procédure SQL pi_ajout_etudiant qui fonctionne si je l'exécute manuellement dans phpMyAdmin avec les valeurs passées par le programme mais rien n'est enregistré en BDD : l'étudiant n'y est pas créé.

Sur mon poste en local, tout fonctionne normalement.

Une idée à me soumettre vite ? Je présente la première partie de l'appli cet après-midi !