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&eacute;vrier', '3' => 'mars', '4' => 'avril', '5' => 'mai',
'6' => 'juin', '7' => 'juillet', '8' => 'aout', '9' => 'septembre', '10' =>'octobre',
'11' => 'novembre', '12' => 'd&eacute;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/