HTML/CSS, PHP, SQL
Contexte

Conception
Cahier de charges
Base de données

Partie Encadrant
Selon le cahier de charges, l’encadrant est une personne qui propose, encadre, supervise une animation et
qui élabore le planning des activités.
Page d’accueil

Les animations
Une animation est un concept de temps de loisirs proposée par le village. Chaque village propose des animations liées à son environnement et elles ont toutes une description précise et sont classées par type
.
Les activités
Une activité correspond à la session d’une animation. Une
activité est une animation proposée à une date précise. On peut
également utiliser le vocable de planning des activités.
Partie Vacanciers
Selon le cahier de charges, le vacancier est une personne qui est hébergée pour un séjour sur une période donnée et qui réside dans le village de vacances. Le vacancier bénéficie d’un profil de connexion. A chaque nouveau séjour, correspond un nouveau vacancier.

Inscription à une activité
Selon le cahier des charges,
L’utilisateur ne peut pas inscrire le vacancier à une activité dont la date ne correspond pas à ses dates de début et fin de séjour.
L’application vérifie la disponibilité des places, il s’agit du différentiel entre le nombre de places maximum et le nombre des inscrits.
Vérification des dates


Le vacancier peut donc s’inscrire à l’activité.
Voici une partie du code que j’ai dû faire
$_SESSION['code'] = $_GET['code'];
$_SESSION['date'] = $_GET['date'];
$_SESSION['date'] = date('Y-m-d',strtotime($_SESSION['date']));
$_SESSION['message'] = "Il n'y a plus de place pour cette activité";
$query = "SELECT NBREPLACEANIM-COUNT(*) AS PLACESDISPO FROM inscription
INNER JOIN animation
WHERE inscription.CODEANIM = animation.CODEANIM AND DATEACT = '$_SESSION[date]' AND
inscription.CODEANIM = '$_SESSION[code]'";
$result = mysqli_query($con,$query);
$placesDispo = mysqli_fetch_array($result);
if($placesDispo['PLACESDISPO']=="0")
{
echo "<h2>Il n'y a malheureusement plus de places pour cette activité.</h2>";
echo "<a href='activites.php?code=".$_SESSION['code']."&date=".$_SESSION['date']."&nom=".$_SESSION['nomAnim']."'><button>Choisir une autre date</button></a>";
echo "<a href='choixanim.php'><button>Choisir une autre animation</button>";
}
else
{
header("location:validinscription.php");
}
Si les dates sont valides, l’utilisateur est redirigé vers une page qui vérifie la disponibilité des places
Vérification de la disponibilité des places
$_SESSION['code'] = $_GET['code'];
$_SESSION['date'] = $_GET['date'];
$_SESSION['date'] = date('Y-m-d',strtotime($_SESSION['date']));
$_SESSION['message'] = "Il n'y a plus de place pour cette activité";
$query = "SELECT NBREPLACEANIM-COUNT(*) AS PLACESDISPO FROM inscription
INNER JOIN animation
WHERE inscription.CODEANIM = animation.CODEANIM AND DATEACT = '$_SESSION[date]' AND
inscription.CODEANIM = '$_SESSION[code]'";
$result = mysqli_query($con,$query);
$placesDispo = mysqli_fetch_array($result);
if($placesDispo['PLACESDISPO']=="0")
{
echo "<h2>Il n'y a malheureusement plus de places pour cette activité.</h2>";
echo "<a href='activites.php?code=".$_SESSION['code']."&date=".$_SESSION['date']."&nom=".$_SESSION['nomAnim']."'><button>Choisir une autre date</button></a>";
echo "<a href='choixanim.php'><button>Choisir une autre animation</button>";
}
else
{
header("location:validDate.php");
}




Désinscription à une activité
Selon le cahier des charges,
L’utilisateur saisit un numéro d’inscription et accède à une inscription au planning des activités.
L’utilisateur vérifie toutes les données de l’inscription.
L’utilisateur averti que l’activité est annulée.
