SYNTHÈSE : PHP – HTML – MYSQL Attention il s`agit d`un exemple
Transcription
SYNTHÈSE : PHP – HTML – MYSQL Attention il s`agit d`un exemple
SYNTHÈSE : PHP – HTML – MYSQL Attention il s'agit d'un exemple de cours pour l'apprentissage donc toutes les données seront envoyées avec la méthode GET et aucune règle de sécurité ni de contrôle des saisies ne seront réalisées. 1 – Avec phpMyAdmin créer une base utilisateur et exécuter le script suivant : drop table if exists UTILISATEUR2; create table UTILISATEUR2 ( id int not null auto_increment, login varchar(15) not null, password varchar(55)not null, date_naissance date not null default '0000-00-00', primary key(id) ); insert into UTILISATEUR2 values('','toto','123456','1975-08-12'); insert into UTILISATEUR2 values ('','titi','123456','1982-06-23'); insert into UTILISATEUR2 values('','tutu','123456','1976-12-12'); 2 – Ecrire le script listeUtilisateur.php afin d'afficher la page suivante : Présenter la date dans un format français : jj-mm-aaaa 3 – Présenter un formulaire pour ajouter un nouvel utilisateur : Mysql acceptera une insertion de la date qu'au format anglo-saxon c'est à dire aaaa-mm-jj, vous devez donc insérer une date dans ce format. Vous avez plusieurs solutions de la moins élégante à la plus professionnelle a – solution la moins élégante mais la plus simple et la plus rapide à mettre en œuvre On récupère ainsi la date dans le bon format b – On présente la date avec 3 listes déroulantes : code PHP : <select name="jour" > <?php for ( $i = 1 ; $i <= 31 ; $i++) echo "<option>$i</option>"; ?> </select> <select name="mois"> <?php $mois = array( '1' => 'janvier', '2' => 'février', '3' => 'mars', '4' => 'avril', '5' => 'mai', '6' => 'juin', '7' => 'juillet', '8' => 'aout', '9' => 'septembre', '10' =>'octobre', '11' => 'novembre', '12' => 'décembre'); foreach ( $mois as $cle => $lemois) echo "<option value=$cle>$lemois</option>"; ?> </select> <select name="annee"> <?php for ( $i = date('Y') ; $i >= 1920 ; $i--) echo "<option>$i</option>"; ?> </select> On va donc récupérer 3 champs ( jour, mois et annee) qui vont nous permettre de construire la date au format Mysql : $annee = $_GET['annee']; $mois = $_GET['mois']; $jour = $_GET['jour']; $date = $annee."-".$mois."-".$jour; c – Utiliser datePicker ce qui nous permettra de faire apparaître un calendrier : Actuellement seul quelques navigateurs interprètent la balise HTML 5 suivante : <input type="date" name="anniversaire"> Donc si vous voulez faire apparaître un calendrier, vous devez utiliser une autre solution. La solution généralement retenue est datePicker. Pour tester cette solution télécharger les fichiers : ➢ formulaire-datePicker.html ( édition code source puis enregistrer sous ….) ➢ datepicker.css Travail à faire : Modifier la fonction pour afficher la date dans un format jj-mm-aaaa ( plus compréhensible pour un utilisateur français). Puis trouver le moyen de convertir cette date au format Mysql ( regarder du coté de la fonction explode). d – Trouver une solution pour changer rapidement la valeur de l'année et du mois. La date minimale ne devra pas être inférieure a 100 ans par rapport à la date d'aujourd'hui. C'est à dire qu'une personne de plus de 100 ans ne devra pas figurer dans la base. Donc la date maximale sera la date du jour et la date minimale 100 ans avant. Date minimale : Date maximale : pour vous aider : http://jqueryui.com/datepicker/ http://api.jqueryui.com/datepicker/