public function add($etudiant, $modif = 0) { /* Explication sur le $motif = 0 : Si le motif est à 0, on ne passe qu'un paramètre, on ajoute donc une personne et un etudiant/salarie. Si le motif est à 1, il s'agit d'une modification. On a déjà une personne sur laquelle on souhaite faire un lien vers un etudiant/salarie en ayant detruit son oppose (car changement de catégorie, responsabilité de l'appelant.) Il nous reste donc a faire le lien, en tenant compte du numero de personne déjà existant */ if ($modif === 0) { parent::add($etudiant); $lastInsertId = $this->db->lastInsertId(); } else { parent::update($etudiant); $lastInsertId = $etudiant->getPerNum(); //il s'agit d'un update particulier... } $sql = "INSERT INTO etudiant (per_num, dep_num, div_num)\n VALUES (:per_num, :dep_num, :div_num)"; $requete = $this->db->prepare($sql); $requete->bindValue(':per_num', $lastInsertId); $requete->bindValue(':dep_num', $etudiant->getDepNum()); $requete->bindValue(':div_num', $etudiant->getDivNum()); $retour = $requete->execute(); return $retour; }
if (ctype_alpha($_POST["prenom"])) { $prenom = $_POST["prenom"]; } else { echo '<img class = "icone" src="image/erreur.png" alt="Erreur"/><b>Prenom invalide</b> : il doit être de type alphabétique<br />'; } } if (empty($nom) or empty($prenom)) { ?> <form method="post" action="#"> <fieldset> <legend>Inscription</legend> <p><label for="nom" >Nom : </label><input type="text" id="nom" name="nom" /></p> <p><label for="prenom" >Prénom : </label><input type="text" id="prenom" name="prenom" /></p> <p><label for="mail" >Mail : </label><input type="text" id="mail" name="mail" /></p> <p><label for="log" >Login : </label><input type="text" id="log" name="log" /></p> <p><label for="pwd" >Mot de passe : </label><input type="password" id="pwd" name="pwd" /></p> <p><label for="pwd2" >Confirmation : </label><input type="password" id="pwd2" name="pwd2" /></p> <input type="submit" value="Valider" /> </fieldset> </form> <?php } else { $num = $manager->getNumMaxPersonne()->per_num + 1; $grainDeSel = 'XOURR\'LINE'; $crypt = md5(md5($_POST["pwd"]) . $grainDeSel); $personne = new Personne(array('per_num' => $num, 'per_nom' => $_POST["nom"], 'per_prenom' => $_POST["prenom"], 'per_mail' => $_POST["mail"], 'per_admin' => "", 'per_login' => $_POST["log"], 'per_pwd' => $crypt)); $manager->add($personne); header("Refresh : 0 ; URL = index.php"); }
<div class="container col-xs-offset-2 col-xs-8"> <form class="form-signin" method="post"> <h2 class="form-signin-heading">S'inscrire</h2> <p><input class="form-control" placeholder="Identifiant" name="identifiant" required autofocus></p> <p><input type="password" class="form-control" placeholder="Mot de Passe" name="motdepasse" required></p> <p><input type="password" class="form-control" placeholder="Retapez le mot de passe" name="vmotdepasse" required></p> <p><input class="btn btn-lg btn-primary btn-block" type="submit"></p> </form> </div> </div> </div> <?php if (!empty($_POST)) { $nouvelUtilisateur = new PersonneDB(); $personneManager = new PersonneManager($_SESSION['connexion']); if (empty($personneManager->verificationIdentifiant($_POST['identifiant']))) { if ($_POST['motdepasse'] == $_POST['vmotdepasse']) { $nouvelUtilisateur->setIdentifiant($_POST['identifiant']); $nouvelUtilisateur->setMotdepasse(sha1($_POST['motdepasse'])); $personneManager->add($nouvelUtilisateur); print "valider"; } else { print "les mots de passes ne sont pas identiques"; } } else { print "identifiant déjà inscrit"; } }