ex3 ok
This commit is contained in:
7
includes/connectbdd.php
Normal file
7
includes/connectbdd.php
Normal 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
87
includes/entete.php
Normal 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
94
includes/footer.ssi
Normal 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
21
includes/sidebar1.ssi
Normal 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>
|
Reference in New Issue
Block a user