This commit is contained in:
2022-03-29 10:42:26 +02:00
parent 395693612a
commit 04890228bb
694 changed files with 4094 additions and 21 deletions

7
includes/connectbdd.php Normal file
View File

@@ -0,0 +1,7 @@
<?php
// segment php pour connexion à la base de données
// doit être appelé par require_once à l'intérieur d'une balise script php
$DSN=array('hostname'=>"localhost", 'username'=>"btssio", 'password'=>"rynax2019", 'dbname'=>"bdrbase");
$connexion=mysqli_connect($DSN['hostname'], $DSN['username'], $DSN['password'], $DSN['dbname']);
$connexion->set_charset("utf8");

87
includes/entete.php Normal file
View File

@@ -0,0 +1,87 @@
<?php
// script qui gère l'autentification sur l'espace membre (dans le header de toutes les pages)
session_start();
echo '<img src="images/Blu-ray_Disc.png" width="200">'; // logo bluray
// y a-t-il un membre connecté ?
if(isset($_SESSION['Authenticated']))
{
// message de bienvenue et lien de logout
echo '<div class="loginbox"';
echo '<p align"right">';
echo '<H2 class="loginbox">Bienvenue, '.$_SESSION['Authenticated']['login'].'</H2>';
echo 'Vous êtes connecté en mode <strong>'.$_SESSION['Authenticated']['mode'].'</strong>';
echo '<br>Cliquez sur ce lien pour <a href="logout.php"> Vous Déconnecter </a>';
echo "</p>";
echo "</div>";
}
else {
// la page est-elle appelée par le formulaire de login, avec login et password non vides ?
if(isset($_POST) && !empty($_POST['identifiant'])&&!empty($_POST['mot_de_passe']))
{
extract($_POST);
$lepasse = $_POST['mot_de_passe'];
// les identifiants sont-ils corrects ?
// on requête pour authentifier par comparaison
require_once "includes/connectbdd.php";
$requete= 'SELECT * FROM t_membres WHERE pseudo ="'.$_POST['identifiant'].'"';
$result=$connexion->query($requete) or die('Echec de la requête');
if($result->num_rows>0)
{
$fiche = $result->fetch_assoc();
$monID = $fiche['IDuser'];
// vérification du mot de passe
if(password_verify($lepasse,$fiche['password']))
{ // création de variables de session
if($fiche['IsAdmin']==1){
$mode="administrateur";
}
else {
$mode= "membre";
}
$_SESSION['Authenticated']= array(
'monID'=>$monID,
'login'=>$identifiant,
'pass'=>$lepasse,
'mode'=>$mode );
// recharger la page qui contient cet en-tête pour en actualiser le cartouche
header("location:".$_SERVER['SCRIPT_NAME']."");
}
else
{ // la vérification du mot de passe a échoué
echo ' Identifiant et/ou Mot de Passe Incorrects ou Invalides
<a href="'.$_SERVER['SCRIPT_NAME'].'"> Réessayer </a>';
}
}
else
{ // la requête sur base de donnée ne retourne pas de couple PSEUDO:Password
echo 'Identification impossible dans la base de données <a href="'.$_SERVER['SCRIPT_NAME'].'"> Réessayer </a>';
}
}
else
{ // afficher le formulaire de connexion et l'invitation à s'inscrire
echo '
<DIV class="loginbox">
<FORM action="'.$_SERVER['SCRIPT_NAME'].'" method="POST" id="loginform">
<TABLE class="blueTable">
<tr>
<th colspan="2" align="center"> Connexion Membre </th>
</tr>
<tr>
<td><label for "UserId" > Votre Identifiant: </label></td>
<td><input type="text" name="identifiant" id="UserId" size ="12" maxlength="12"></td>
</tr>
<tr>
<td><label for "pswd" > Votre Mot de Passe: </label></td>
<td><input type="password" name="mot_de_passe" id="pswd" size = "12" maxlength="12"></td>
</tr>
<tr>
<td colspan="2"align="center"><input type="submit" value=". Connecte Moi ."</td>
</tr>
</TABLE>
</FORM>
</DIV>';
echo '<br>Pour accéder à toutes les fonctionnalités du site,
<br>vous devez <a href="inscription.php"> vous inscrire (c\'est GRATUIT!)</a>';
} // fin du formulaire
} // fin du traitement en absence de création de session
?>

94
includes/footer.ssi Normal file
View File

@@ -0,0 +1,94 @@
<?php
if(isset($_SESSION['Authenticated']))
{
// une session est active
// recherche des statistiques du membre connecté : Nb de bluray offerts, prêtés, empruntés
if($_SESSION['Authenticated']['mode']=="administrateur")
{ // l'utilisateur connecté a les privilèges "Administrateur"
echo '<H2 class="loginbox"> Tâches d\'administration du site </H2>';
// menu des tâches d'administration
echo "<nav>";
echo '<ul>
<li> Ajouter un nouveau Disque </li>
<li> Recherches IMDB </li>
<li><a href="gestretours.php"> Prêts en cours, Retours </a></li>
<li><a href="inscription.php"> Inscrire un Membre</a></li>
</ul>';
echo "</nav>";
}
// c'est un membre (admin ou pas), afficher ses statistiques
// stats propriétaire
require "includes/connectbdd.php";
$sqlreq = 'SELECT IDproprio, count(IDfilm)AS NBfilms, SUM(preter)AS PourPRET,
sum(echanger)AS PourECHANGE, count(vendre) AS PourVENDRE, sum(vendre)AS PrixTOTAL
FROM offrir WHERE IDproprio ='.$_SESSION['Authenticated']['monID'].' ;';
$res=$connexion->query($sqlreq) or die('Echec de la requête stats propriétaire');
$stats=$res->fetch_array();
echo '<H2 class="compact"> Statistiques pour le membre : '.$_SESSION['Authenticated']['login'].'</H2>';
echo '<p class="stats">';
echo 'Vous possédez <strong>'.$stats['NBfilms'].'</strong> Disques BluRay, Dont ...<br>';
echo '... '.$stats['PourPRET'].' sont mis à disposition pour prêt<br>';
echo '... '.$stats['PourECHANGE'].' sont proposés pour échange, et ...<br>';
$prix=$stats['PrixTOTAL'];
if($stats['PourVENDRE']==0){$prix=0;}
echo '... '.$stats['PourVENDRE'].' sont à vendre, pour un total de '.$prix.' Euros';
mysqli_free_result($res);
// nombre de prêts en cours
$sqlreq2 = 'SELECT Count(*) AS NBDiscs FROM emprunter
WHERE date_rendu IS NULL AND IDemprunteur = '.$_SESSION['Authenticated']['monID'].' ; ';
$res=$connexion->query($sqlreq2) or die('Echec de la requête nombre BluRays empruntés');
echo "<br>";
$nbemprunts = $res->fetch_array();
echo ' Prêts de BluRays En Cours : <strong>'.$nbemprunts['NBDiscs'].'</strong>';
mysqli_free_result($res);
// nombre de prêts depuis le début
$sqlreq3 = 'SELECT Count(*) AS NBDiscs FROM emprunter
WHERE IDemprunteur = '.$_SESSION['Authenticated']['monID'].' ; ';
$res=$connexion->query($sqlreq3) or die('Echec de la requête nombre total de BluRays empruntés');
echo "<br>";
$totalemprunts = $res->fetch_array();
echo ' BluRays Empruntés depuis le début : <strong>'.$totalemprunts['NBDiscs'].'</strong>';
echo "</p>";
mysqli_free_result($res);
// stats emprunteur
$sqlquery ='SELECT t_films.ID_film, t_films.Titre,
DATEDIFF(DATE(NOW()),emprunter.date_due)AS RETARD
FROM `emprunter` INNER JOIN t_films on emprunter.IDfilm = t_films.ID_film
WHERE date_rendu IS NULL AND date_due < DATE(NOW()) AND IDemprunteur = '.$_SESSION['Authenticated']['monID'].' ;';
$res=$connexion->query($sqlquery) or die('Echec de la requête stats emprunteur');
if($res->num_rows>0)
{
echo '<div class="loginbox">';
echo '<h2 class="loginbox" style="background-color:#ff0000"> !!! '.$res->num_rows.' Prêts en RETARD !!! </h2>';
echo '<table class="blueTable">';
echo "<tr><th>N°</th><th>Titre du Film</th><th>Retard</th></tr>";
while ($data = mysqli_fetch_array($res))
{
// on affiche les films en retard
$leFilm =$data['ID_film'];
echo '<tr>
<td><a href="fichefilm.php?ID='.$leFilm.'">'.$leFilm.'</a></td>';
echo '<td>'.$data['Titre'].'</td>';
echo '<td>'.$data['RETARD'].' Jours</td></tr>';
}
echo "</table>";
}
else
{
echo '<p class="stats" style="background-color:#00FCCF">';
echo " Vous n'avez pas de prêt en retard ";
echo "</p>";
}
echo '</div>';
mysqli_close($connexion);
}
else
{
// en l'absence de session ouverte
echo "
<H1>Projet SI6 : Club d'échange BluRays</H1>
<H2> BTS SIO Lycée Honoré d'Estienne d'Orves </H2>
<h3>Copyright Gilles G. CASANOVA</h3>
";
}
?>

21
includes/sidebar1.ssi Normal file
View File

@@ -0,0 +1,21 @@
<nav> <!-- partie HTML de la barre de navigation -->
<ul>
<li><a href="index.php"> Accueil </a></li>
<?php // variante visiteur ou membre connecté
if(ISSET($_SESSION['Authenticated']['login'])){
echo '<li><a href="editprofil.php">Modifier mon profil</a></li>';
}
else {
echo '<li><a href="inscription.php">Inscription au Club</a></li>';
}
?>
<div>
<li><a href="listefilms.php"> Bandes Annonces </a></li>
<li><a href="fichefilm.php"> par IDfilm </a></li>
<li><a href="findidrange.php"> par IDmin à ID max </a></li>
<li><a href="findbyname.php"> sur le Titre </a></li>
<li><a href="catalogue.php"> Médiathèque (coverflow) </a></li>
</div>
</ul>
</nav>