added navbar to tableaubord

This commit is contained in:
Flavien Haas 2019-05-09 16:48:26 +02:00
parent 1bbc5eaf76
commit a2e72de86c
3 changed files with 338 additions and 229 deletions

View File

@ -0,0 +1,128 @@
*{
margin: 0;
padding: 0;
font-family: "Calibri Light";
}
h1{
font-size: 3em;
text-align: center;
text-decoration: underline;
}
#content{
min-width: 320px;
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
#tableauBord{
margin: 2em;
padding: 1em;
width: 100%;
}
.menu {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
background-color: rgb(65, 154, 28);
}
.menuItem {
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
color: white;
width: 10%;
min-width: 5em;
font-weight: bold;
text-decoration: none;
padding: 0.8em;
border-bottom: 4px solid rgb(65, 154, 28);
font-size: 1.1em;
text-align: center;
}
.menuItem:hover{
cursor: pointer;
border-bottom: 4px solid orange;
}
#divImgProfil{
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: center;
}
#imgProfil{
background-color: white;
margin-top: 2.5em;
width: 60%;
height: 60%;
max-width: 210px;
max-height: 210px;
border-radius: 10px;
}
#trajet{
margin-top: 2em;
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: center;
text-align: center;
width: 100%;
}
.btnTrajet{
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
text-decoration: none;
padding: 0.4em;
color: black;
background-color: lightgray;
border: 1px solid black;
}
.btnTrajet:hover{
background-color: grey;
}
#btnTrajet2{
margin-left: 10%;
}
#recap{
margin-top: 2.5em;
width: 50%;
margin-left: 50%;
transform: translate(-50%);
}
.recapLine{
margin-bottom: 1.5em;
display: flex;
flex-wrap: nowrap;
justify-content: left;
align-items: center;
width: 100%;
}
.recapIcon{
width: 50px;
height: 50px;
}
p{
margin-left: 10%;
}

View File

@ -0,0 +1,5 @@
<?php
function navbarHTML($title){
echo '<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><link rel="stylesheet" href="tableauBord.css"><link rel="icon" type="image/png" href=""/><title>'.$title.'</title><nav class="menu"><a class="menuItem" href="./../inscription.php">Tableau de bord</a><a class="menuItem" href="../inscription.php">Trajets publiés</a><a class="menuItem" href="../inscription.php">Trajets réservés</a><a class="menuItem" href="../inscription.php">Messagerie</a><a class="menuItem" href="../inscription.php">Avis reçus</a><a class="menuItem" href="../inscription.php">Avis laissés</a><a class="menuItem" href="../inscription.php">Profil</a><a class="menuItem" href="../deconnexion.php">Se déconnecter</a></nav></head><body>';
}
?>

View File

@ -1,245 +1,221 @@
<?php
include '../ressources/navbarHTML.php';
navbarHTML("Tableau de bord");
require ('../connectionBD.php');
$mail = null;
$db = connexionBD();
init();
require ('../connectionBD.php');
$mail = null;
$db = connexionBD();
init();
$matricule = isset($_POST['matricule']) ? $_POST['matricule'] : NULL; //recuperation valeur formulaire, isset pour eviter l'erreur "Notice: Undefined index"
$marque = isset($_POST['marque']) ? $_POST['marque'] : NULL;
$modele = isset($_POST['modele']) ? $_POST['modele'] : NULL;
$nbplaces = isset($_POST['nbplaces']) ? $_POST['nbplaces'] : NULL;
$anneefab = isset($_POST['anneefab']) ? $_POST['anneefab'] : NULL;
$matricule = isset($_POST['matricule']) ? $_POST['matricule'] : NULL; //recuperation valeur formulaire, isset pour eviter l'erreur "Notice: Undefined index"
$marque = isset($_POST['marque']) ? $_POST['marque'] : NULL;
$modele = isset($_POST['modele']) ? $_POST['modele'] : NULL;
$nbplaces = isset($_POST['nbplaces']) ? $_POST['nbplaces'] : NULL;
$anneefab = isset($_POST['anneefab']) ? $_POST['anneefab'] : NULL;
if(isset($_POST['submitadd']))
{
addVoiture($matricule, $marque, $modele, $nbplaces, $anneefab);
if(isset($_POST['submitadd'])){
addVoiture($matricule, $marque, $modele, $nbplaces, $anneefab);
}
if(isset($_POST['submitchange'])){
changeVoiture($matricule, $marque, $modele, $nbplaces, $anneefab);
}
if(isset($_POST['submitshow'])){
showVoiture();
}
function init(){
session_start();
global $mail;
//Si on est pas connecté redirection vers la page de connexion
if(!isset($_SESSION['mail'])){
header('Location: ../index.php');
exit();
}
else{
$mail = $_SESSION['mail'];
}
}
function getPrenom($mail){
global $db;
$result = pg_query_params($db, "SELECT prenom from Utilisateur WHERE mail = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$prenom = $row[0];
return $prenom;
}
return null;
}
function getLogin($mail){
global $db;
$result = pg_query_params($db, "SELECT login from Utilisateur WHERE mail = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
return null;
}
function getTrajetsProposes($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) from Trajet WHERE mailProposition = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail));
if($result){
$row = pg_fetch_array($result);
return $row[0];
}
return 0;
}
function getTrajetsReserves($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver r WHERE r.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND etatres != 'Annulée' AND estAnnule = false AND datedepart >= current_date;", array($mail));
if($result){
$row = pg_fetch_array($result);
return $row[0];
}
return 0;
}
function getMessagesNonLus($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) from Message WHERE mailRecepteur = $1 AND estLu = FALSE;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
}
function getAvisNonLus($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(tr.mailProposition) FROM Trajet tr, Avis av WHERE tr.codeTrajet = av.codeTrajet AND av.estLu = false AND tr.mailProposition = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
}
function getPathImgProfil($mail){
if (file_exists("../imageProfil/$mail.png")){
return "../imageProfil/$mail.png";
}
return "../imageProfil/default.svg";
}
function addVoiture($matricule, $marque, $modele, $nbplaces, $anneefab){
global $db;
$requete = "INSERT INTO public.voiture (matricule, marque, modele, nbplaces, anneefab, mail) VALUES ('".$matricule."','".$marque."','".$modele."','".$nbplaces."','".$anneefab."','".$_SESSION['mail']."');";
pg_query($db, $requete);
}
function changeVoiture($matricule, $marque, $modele, $nbplaces, $anneefab){
global $db;
$requete = "UPDATE public.voiture SET (matricule, marque, modele, nbplaces, anneefab) = ('".$matricule."','".$marque."','".$modele."','".$nbplaces."','".$anneefab."') WHERE mail = '".$_SESSION['mail']."';";
echo "requete =".$requete;
pg_query($db, $requete);
}
function showVoiture(){
global $db;
$requete = "SELECT * FROM public.voiture WHERE voiture.mail = '".$_SESSION['mail']."';";
if($donnees = pg_query($db, $requete)){
while($res = pg_fetch_assoc($donnees)){
echo "matricule = ".$res['matricule']."<br>";
echo "marque = ".$res['marque']."<br>";
echo "modele = ".$res['modele']."<br>";
echo "nombre de places = ".$res['nbplaces']."<br>";
echo "année de fabrication = ".$res['anneefab']."<br>";
}
if(isset($_POST['submitchange']))
{
changeVoiture($matricule, $marque, $modele, $nbplaces, $anneefab);
}
if(isset($_POST['submitshow']))
{
showVoiture();
}
function init(){
session_start();
global $mail;
//Si on est pas connecté redirection vers la page de connexion
if(!isset($_SESSION['mail'])){
header('Location: ../index.php');
exit();
}
else{
$mail = $_SESSION['mail'];
}
}
function getPrenom($mail){
global $db;
$result = pg_query_params($db, "SELECT prenom from Utilisateur WHERE mail = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$prenom = $row[0];
return $prenom;
}
return null;
}
function getLogin($mail){
global $db;
$result = pg_query_params($db, "SELECT login from Utilisateur WHERE mail = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
return null;
}
function getTrajetsProposes($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) from Trajet WHERE mailProposition = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail));
if($result){
$row = pg_fetch_array($result);
return $row[0];
}
return 0;
}
function getTrajetsReserves($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver r WHERE r.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND etatres != 'Annulée' AND estAnnule = false AND datedepart >= current_date;", array($mail));
if($result){
$row = pg_fetch_array($result);
return $row[0];
}
return 0;
}
function getMessagesNonLus($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(*) from Message WHERE mailRecepteur = $1 AND estLu = FALSE;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
}
function getAvisNonLus($mail){
global $db;
$result = pg_query_params($db, "SELECT COUNT(tr.mailProposition) FROM Trajet tr, Avis av WHERE tr.codeTrajet = av.codeTrajet AND av.estLu = false AND tr.mailProposition = $1;", array($mail));
if($result){
$row = pg_fetch_array($result);
$login = $row[0];
return $login;
}
}
function getPathImgProfil($mail){
if (file_exists("../imageProfil/$mail.png")){
return "../imageProfil/$mail.png";
}
return "../imageProfil/default.svg";
}
function addVoiture($matricule, $marque, $modele, $nbplaces, $anneefab){
global $db;
$requete = "INSERT INTO public.voiture (matricule, marque, modele, nbplaces, anneefab, mail) VALUES ('".$matricule."','".$marque."','".$modele."','".$nbplaces."','".$anneefab."','".$_SESSION['mail']."');";
pg_query($db, $requete);
}
function changeVoiture($matricule, $marque, $modele, $nbplaces, $anneefab){
global $db;
$requete = "UPDATE public.voiture SET (matricule, marque, modele, nbplaces, anneefab) = ('".$matricule."','".$marque."','".$modele."','".$nbplaces."','".$anneefab."') WHERE mail = '".$_SESSION['mail']."';";
echo "requete =".$requete;
pg_query($db, $requete);
}
function showVoiture(){
global $db;
$requete = "SELECT * FROM public.voiture WHERE voiture.mail = '".$_SESSION['mail']."';";
if($donnees = pg_query($db, $requete)){
while($res = pg_fetch_assoc($donnees)){
echo "matricule = ".$res['matricule']."<br>";
echo "marque = ".$res['marque']."<br>";
echo "modele = ".$res['modele']."<br>";
echo "nombre de places = ".$res['nbplaces']."<br>";
echo "année de fabrication = ".$res['anneefab']."<br>";
}
}
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="tableauBord.css">
<link rel="icon" type="image/png" href="" />
<title>Tableau de bord</title>
<script type="text/javascript">
function ShowTab (E){
document.getElementById("addVoiture").style.display = (E == 1) ? 'block' : 'none';
document.getElementById("changeVoiture").style.display = (E == 2) ? 'block' : 'none';
document.getElementById("showVoiture").style.display = (E == 3) ? 'block' : 'none';
}
</script>
<nav class="menu">
<a class="menuItem" href="./../inscription.php">Tableau de bord</a>
<a class="menuItem" href="../inscription.php">Trajets publiés</a>
<a class="menuItem" href="../inscription.php">Trajets réservés</a>
<a class="menuItem" href="../inscription.php">Messagerie</a>
<a class="menuItem" href="../inscription.php">Avis reçus</a>
<a class="menuItem" href="../inscription.php">Avis laissés</a>
<a class="menuItem" href="../inscription.php">Profil</a>
<a class="menuItem" href="../deconnexion.php">Se déconnecter</a>
</nav>
</head>
<body>
<div id="content">
<script type="text/javascript">
function ShowTab (E){
document.getElementById("addVoiture").style.display = (E == 1) ? 'block' : 'none';
document.getElementById("changeVoiture").style.display = (E == 2) ? 'block' : 'none';
document.getElementById("showVoiture").style.display = (E == 3) ? 'block' : 'none';
}
</script>
<div id="content">
<div id="tableauBord">
<h1>Bienvenue <?php echo getLogin($mail); ?></h1>
<div id="divImgProfil">
<img id="imgProfil" src="<?php echo getPathImgProfil($mail); ?>">
<h1>Bienvenue <?php echo getLogin($mail); ?></h1>
<div id="divImgProfil">
<img id="imgProfil" src="<?php echo getPathImgProfil($mail); ?>">
</div>
<div id="trajet">
<a class="btnTrajet" href="../ah.php">Déposer un trajet</a>
<a id="btnTrajet2" class="btnTrajet" href="../ah.php">Rechercher un trajet</a>
</div>
<div id="recap">
<div class="recapLine">
<img class="recapIcon" src="../car.png">
<p>Vous avez <?php echo getTrajetsProposes($mail); ?> trajets proposés à effectuer.</p>
</div>
<div id="trajet">
<a class="btnTrajet" href="../ah.php">Déposer un trajet</a>
<a id="btnTrajet2" class="btnTrajet" href="../ah.php">Rechercher un trajet</a>
<div class="recapLine">
<img class="recapIcon" src="../car.png">
<p>Vous avez <?php echo getTrajetsReserves($mail); ?> trajets réservés à effectuer.</p>
</div>
<div id="recap">
<div class="recapLine">
<img class="recapIcon" src="../car.png">
<p>Vous avez <?php echo getTrajetsProposes($mail); ?> trajets proposés à effectuer.</p>
</div>
<div class="recapLine">
<img class="recapIcon" src="../car.png">
<p>Vous avez <?php echo getTrajetsReserves($mail); ?> trajets réservés à effectuer.</p>
</div>
<div class="recapLine">
<img class="recapIcon" src="../mail.svg">
<p>Vous avez <?php echo getMessagesNonLus($mail); ?> messages non lus.</p>
</div>
<div class="recapLine">
<img class="recapIcon" src="../star.png">
<p>Vous avez <?php echo getAvisNonLus($mail); ?> avis non lus.</p>
</div>
<div class="recapLine">
<img class="recapIcon" src="../mail.svg">
<p>Vous avez <?php echo getMessagesNonLus($mail); ?> messages non lus.</p>
</div>
<form id="choixFormeTestVoiture">
<div>
<input type="radio" name="TabCheck" onclick="ShowTab(1)"/>Ajouter une voiture
<input type="radio" name="TabCheck" onclick="ShowTab(2)"/>Modifier ma voiture
<input type="radio" name="TabCheck" onclick="ShowTab(3)"/>Afficher ma voiture
</div>
</form>
<div id="addVoiture" style="display: none;">
<h1>Ajouter une voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p>matricule :</p></td><td><input type="text" name="matricule"/></td></tr>
<tr><td><p>marque :</p></td><td><input type="text" name="marque"/></td></tr>
<tr><td><p>modele :</p></td><td><input type="text" name="modele"/></td></tr>
<tr><td><p>nombre de places :</p></td><td><input type="number" maxlength="1" name="nbplaces"/></td></tr>
<tr><td><p>année de fabrication :</p></td><td><input type="number" nmaxlength="4" name="anneefab"/></td></tr>
<tr><td><p><input type="submit" name="submitadd" value="ajouter une voiture"></td></tr>
</table>
</form>
</fieldset>
<div class="recapLine">
<img class="recapIcon" src="../star.png">
<p>Vous avez <?php echo getAvisNonLus($mail); ?> avis non lus.</p>
</div>
<div id="changeVoiture" style="display: none;">
<h1>Modifier une voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p>matricule :</p></td><td><input type="text" name="matricule"/></td></tr>
<tr><td><p>marque :</p></td><td><input type="text" name="marque"/></td></tr>
<tr><td><p>modele :</p></td><td><input type="text" name="modele"/></td></tr>
<tr><td><p>nombre de places :</p></td><td><input type="number" maxlength="1" name="nbplaces"/></td></tr>
<tr><td><p>année de fabrication :</p></td><td><input type="number" nmaxlength="4" name="anneefab"/></td></tr>
<tr><td><p><input type="submit" name="submitchange" value="modifier une voiture"></td></tr>
</table>
</form>
</fieldset>
</div>
<div id="showVoiture" style="display: none;">
<h1>Afficher ma voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p><input type="submit" name="submitshow" value="afficher ma voiture"></td></tr>
</table>
</form>
</fieldset>
</div>
<form id="choixFormeTestVoiture">
<div>
<input type="radio" name="TabCheck" onclick="ShowTab(1)"/>Ajouter une voiture
<input type="radio" name="TabCheck" onclick="ShowTab(2)"/>Modifier ma voiture
<input type="radio" name="TabCheck" onclick="ShowTab(3)"/>Afficher ma voiture
</div>
</form>
<div id="addVoiture" style="display: none;">
<h1>Ajouter une voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p>matricule :</p></td><td><input type="text" name="matricule"/></td></tr>
<tr><td><p>marque :</p></td><td><input type="text" name="marque"/></td></tr>
<tr><td><p>modele :</p></td><td><input type="text" name="modele"/></td></tr>
<tr><td><p>nombre de places :</p></td><td><input type="number" maxlength="1" name="nbplaces"/></td></tr>
<tr><td><p>année de fabrication :</p></td><td><input type="number" nmaxlength="4" name="anneefab"/></td></tr>
<tr><td><p><input type="submit" name="submitadd" value="ajouter une voiture"></td></tr>
</table>
</form>
</fieldset>
</div>
<div id="changeVoiture" style="display: none;">
<h1>Modifier une voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p>matricule :</p></td><td><input type="text" name="matricule"/></td></tr>
<tr><td><p>marque :</p></td><td><input type="text" name="marque"/></td></tr>
<tr><td><p>modele :</p></td><td><input type="text" name="modele"/></td></tr>
<tr><td><p>nombre de places :</p></td><td><input type="number" maxlength="1" name="nbplaces"/></td></tr>
<tr><td><p>année de fabrication :</p></td><td><input type="number" nmaxlength="4" name="anneefab"/></td></tr>
<tr><td><p><input type="submit" name="submitchange" value="modifier une voiture"></td></tr>
</table>
</form>
</fieldset>
</div>
<div id="showVoiture" style="display: none;">
<h1>Afficher ma voiture</h1>
<fieldset>
<form action="tableauBord.php" method="post">
<table>
<tr><td><p><input type="submit" name="submitshow" value="afficher ma voiture"></td></tr>
</table>
</form>
</fieldset>
</div>
</div>
</div>
</div>
</body>
</html>