Compare commits

..

10 Commits

Author SHA1 Message Date
Flavien Haas c139f83edf added comments 6 years ago
PALAFFRE Raphaël 0d256c60ef Commentaire code 6 years ago
PALAFFRE Raphaël 6e0465379e Commentaire code 6 years ago
PALAFFRE Raphaël 77796e4df8 Commentaire code 6 years ago
PALAFFRE Raphaël 13064316fd Commentaire code 6 years ago
PALAFFRE Raphaël 508c84a04f Commentaire code 6 years ago
PALAFFRE Raphaël bd4163c5fa Commentaire code 6 years ago
PALAFFRE Raphaël 7c73030e97 Commentaire code 6 years ago
PALAFFRE Raphaël 598feef1f7 Commentaire code 6 years ago
PALAFFRE Raphaël 65b1254997 Mettre à jour 'WEB/avis_laisses/avis_laisses.php' 6 years ago

@ -1,46 +1,44 @@
/* /*General*/
Crée par PALAFFRE Raphael
Fonction: Lister les avis laisses body {
Page CSS : avis_laisses.css color:black;
*/ background-color:white;
background-image:url("../ressources/image/background.jpg");
body { background-repeat:no-repeat;
color:black; background-size:100%;
background-color:white; margin: 0;
background-attachment: fixed; font-family: Ubuntu,Helvetica,sans-serif;
background-image:url("../ressources/image/background.jpg"); }
background-size:cover;
margin: 0; #container{
font-family: Ubuntu,Helvetica,sans-serif; margin : 5% 5% 5% 5%;
} background-color : white;
border : 2px solid black;
#container{ }
margin : 5% 5% 5% 5%;
background-color : white; h1{
border : 2px solid black; text-align : center;
} font-size : 250%;
font-weight: bold;
h1{ }
text-align : center;
font-size : 250%; h2{
font-weight: bold; text-align : center;
} font-size : 150%;
font-weight: bold;
h2{ }
text-align : center;
font-size : 150%; /*Affichage avis*/
font-weight: bold;
} #bouton_retour{
transform : rotate(45deg);
#bouton_retour{ }
transform : rotate(45deg);
} .etoile{
height:50px;
.etoile{ }
height:50px;
} .avis_tab{
width:85%;
.avis_tab{ padding-left:15%;
width:85%; }
padding-left:15%;
}

@ -1,76 +1,81 @@
<?php <?php
session_start(); //Importation des fichiers necessaires au fonctionnement
require_once ("../connexionBD.php"); session_start();
require_once ("../ressources/user.php"); require_once ("../connexionBD.php");
require_once ("../ressources/user.php");
//Si on est pas connecté redirection vers la page de connexion
if (!isset($_SESSION['mail'])) { //Si on est pas connecté redirection vers la page de connexion
header('Location: ../index.php'); if (!isset($_SESSION['mail'])) {
exit(); header('Location: ../index.php');
} exit();
$mail = $_SESSION['mail']; }
$login = getLogin($db,$mail); //Recuperation de la variables de session
$mail = $_SESSION['mail'];
$requete = "SELECT DISTINCT Avis.codetrajet, Utilisateur.login, Avis.commentaire, Avis.dateavis, Avis.note FROM Utilisateur, Avis, Trajet WHERE Avis.codetrajet = Trajet.codetrajet AND Avis.mailemetteur = $1 AND Trajet.mailproposition = Utilisateur.mail;";
$result = pg_query_params($db, $requete, array($mail)); $login = getLogin($db,$mail);
?>
//Création et envoie de la requete SQL
<!DOCTYPE html> $requete = "SELECT DISTINCT Utilisateur.login, Avis.commentaire, Avis.dateavis, Avis.note FROM Utilisateur, Avis, Trajet WHERE Avis.mailemetteur = $1 AND Avis.mailemetteur = Utilisateur.mail;";
<html lang = "fr"> $result = pg_query_params($db, $requete, array($mail));
<head> ?>
<meta charset = "UTF-8">
<link rel = "stylesheet" href = "avis_laisses.css"> <!DOCTYPE html>
<link rel="icon" href="../ressources/favicon.ico" /> <html lang = "fr">
<link rel="stylesheet" href="../ressources/navbarhtml.css" />
<title>Avis Laissés</title> <head>
</head> <meta charset = "UTF-8">
<link rel = "stylesheet" href = "avis_laisses.css">
<body> <link rel="icon" href="../ressources/favicon.ico" />
<link rel="stylesheet" href="../ressources/navbarhtml.css" />
<?php require_once ("../ressources/navbarhtml.php"); ?> <title>Avis Laissés</title>
</head>
<div id = "container">
<body>
<div id ="entete">
<a href = "../tableauBord/tableauBord.php"><img id = "bouton_retour" src = "../ressources/image/return.png" alt = "Bouton retour"></a> <?php require_once ("../ressources/navbarhtml.php"); ?>
<h1 id = "titre">Avis Laissés</h1>
<br> <div id = "container">
</div>
<div id ="entete"> <-- Entete de la page -->
<div id = "avis"> <a href = "../tableauBord/tableauBord.php"><img id = "bouton_retour" src = "../ressources/image/return.png" alt = "Bouton retour"></a>
<table> <h1 id = "titre">Avis Laissés</h1>
<?php <br>
while ($row = pg_fetch_array($result)) { </div>
$nom = $row['login'];
$date = $row['dateavis']; <div id = "avis">
$commentaire = $row['commentaire']; <table>
$note = $row['note']; <?php
echo "<tr>"; while ($row = pg_fetch_array($result)) { //Stockage des resultats des requete SQL
echo "<td class='avis_tab'>"; $nom = $row['login'];
echo "<h3 id='nom'>$nom</h3>"; $date = $row['dateavis'];
echo "<h4 id='date'>".explode(' ',$date)[0]."</h4>"; $commentaire = $row['commentaire'];
echo "<h5 id='avis'>$commentaire</h5>"; $note = $row['note'];
echo "</td>"; echo "<tr>";
echo "<td id='note_tab'>"; echo "<td class='avis_tab'>"; //Affichage sous forme de tableau pour la mise en page
$i=0; echo "<h3 id='nom'>$nom</h3>";
while ($i<intval($note)){ echo "<h4 id='date'>".explode(' ',$date)[0]."</h4>";
echo "<img class='etoile' src='../ressources/image/star_full.png' alt='star'>"; echo "<h5 id='avis'>$commentaire</h5>";
$i++; echo "</td>";
} echo "<td id='note_tab'>";
$i = $note; $i=0;
while ($i<3){ while ($i<intval($note)){ //Affichage de la note laisses
echo "<img class='etoile' src='../ressources/image/star.png' alt='star'>"; echo "<img class='etoile' src='../ressources/image/star_full.png' alt='star'>";
$i++; $i++;
} }
echo "</td>"; $i = $note;
} while ($i<3){
?> echo "<img class='etoile' src='../ressources/image/star.png' alt='star'>";
</tr> $i++;
</table> }
</div> echo "</td>";
</div> }
</body> ?>
</html> </tr>
</table>
</div>
</div>
</body>
</html>

@ -1,46 +1,44 @@
/* /*General*/
Crée par PALAFFRE Raphael
Fonction: Lister les avis recus body {
Page CSS : avis_recu.css color:black;
*/ background-color:white;
background-image:url("../ressources/image/background.jpg");
body { background-repeat:no-repeat;
color:black; background-size:104%;
background-color:white; margin: 0;
background-image:url("../ressources/image/background.jpg"); font-family: Ubuntu,Helvetica,sans-serif;
background-attachment: fixed; }
background-size:cover;
margin: 0; #container{
font-family: Ubuntu,Helvetica,sans-serif; margin : 5% 5% 5% 5%;
} background-color : white;
border : 2px solid black;
#container{ }
margin : 5% 5% 5% 5%;
background-color : white; h1{
border : 2px solid black; text-align : center;
} font-size : 250%;
font-weight: bold;
h1{ }
text-align : center;
font-size : 250%; h2{
font-weight: bold; text-align : center;
} font-size : 150%;
font-weight: bold;
h2{ }
text-align : center;
font-size : 150%; /*Affichage avis*/
font-weight: bold;
} #bouton_retour{
transform : rotate(45deg);
#bouton_retour{ }
transform : rotate(45deg);
} .etoile{
height:50px;
.etoile{ }
height:50px;
} .avis_tab{
width:85%;
.avis_tab{ padding-left:15%;
width:85%; }
padding-left:15%;
}

@ -1,70 +1,76 @@
<?php <?php
session_start(); //Importation des fichiers
require_once("../connexionBD.php"); session_start();
require_once("../ressources/user.php"); require_once("../connexionBD.php");
require_once("../ressources/user.php");
//Si on est pas connecté redirection vers la page de connexion
if (!isset($_SESSION['mail'])) { //Si on est pas connecté redirection vers la page de connexion
header('Location: ../index.php'); if (!isset($_SESSION['mail'])) {
exit(); header('Location: ../index.php');
} exit();
$mail = $_SESSION['mail']; }
$login = getLogin($db, $mail); //Recuperation variable session
$mail = $_SESSION['mail'];
$requete = "SELECT DISTINCT Avis.mailemetteur, Avis.codetrajet, Utilisateur.login, Avis.commentaire, Avis.dateavis, Avis.note FROM Utilisateur, Avis, Trajet WHERE Avis.codetrajet = Trajet.codetrajet AND Trajet.mailproposition = $1 AND Avis.mailemetteur = Utilisateur.mail;";
$result = pg_query_params($db, $requete, array($mail)); $login = getLogin($db, $mail);
?>
<!DOCTYPE html> //Creation et envoie de la requete SQL
<html>
<head> $requete = "SELECT DISTINCT Utilisateur.login, Avis.commentaire, Avis.dateavis, Avis.note FROM Utilisateur, Avis, Trajet WHERE Avis.codetrajet = Trajet.codetrajet AND Trajet.mailproposition = $1 AND Trajet.mailproposition = Utilisateur.mail;";
<meta charset="UTF-8"> $result = pg_query_params($db, $requete, array($mail));
<link rel="stylesheet" href="avis_recus.css"> ?>
<link rel="stylesheet" href="../ressources/navbarhtml.css">
<link rel="icon" href="../ressources/favicon.ico"/> <!DOCTYPE html>
<title>Avis Recus</title> <html>
</head> <head>
<body> <meta charset="UTF-8">
<?php require_once ("../ressources/navbarhtml.php"); ?> <link rel="stylesheet" href="avis_recus.css">
<div id="container"> <link rel="stylesheet" href="../ressources/navbarhtml.css">
<div id="entete"> <link rel="icon" href="../ressources/favicon.ico"/>
<a href="../tableauBord/tableauBord.php"><img id="bouton_retour" <title>Avis Recus</title>
src="../ressources/image/return.png" </head>
alt="Bouton retour"></a> <body>
<h1 id="titre">Avis Recus</h1> <?php require_once ("../ressources/navbarhtml.php"); ?>
<br>
</div> <div id="container">
<div id="avis"> <div id="entete"> <-- Entete -->
<table> <a href="../tableauBord/tableauBord.php"><img id="bouton_retour"
<?php while ($row = pg_fetch_array($result)) { src="../ressources/image/return.png"
pg_query_params($db, "UPDATE Avis SET estlu = true WHERE mailemetteur = $1 AND codetrajet = $2;", array($row['mailemetteur'], $row['codetrajet'])); alt="Bouton retour"></a>
$nom = $row['login']; <h1 id="titre">Avis Recus</h1>
$date = $row['dateavis']; <br>
$commentaire = $row['commentaire']; </div>
$note = $row['note']; <div id="avis"> <-- Avis recus -->
echo "<tr>"; <table>
echo "<td class='avis_tab'>"; <?php while ($row = pg_fetch_array($result)) { //Stockage des valeurs de retour de la requete SQL
echo "<h3 id='nom'>$nom</h3>"; $nom = $row['login'];
echo "<h4 id='date'>".explode(' ',$date)[0]."</h4>"; $date = $row['dateavis'];
echo "<h5 id='avis'>$commentaire</h5>"; $commentaire = $row['commentaire'];
echo "</td>"; $note = $row['note'];
echo "<td id='note_tab'>"; echo "<tr>"; //Affichage des resultat sour forme de tableau
$i=0; echo "<td class='avis_tab'>";
while ($i<intval($note)){ echo "<h3 id='nom'>$nom</h3>";
echo "<img class='etoile' src='../ressources/image/star_full.png' alt='star'>"; echo "<h4 id='date'>".explode(' ',$date)[0]."</h4>";
$i++; echo "<h5 id='avis'>$commentaire</h5>";
} echo "</td>";
$i = $note; echo "<td id='note_tab'>";
while ($i<3){ $i=0;
echo "<img class='etoile' src='../ressources/image/star.png' alt='star'>"; while ($i<intval($note)){ //Affichage des notes recus
$i++; echo "<img class='etoile' src='../ressources/image/star_full.png' alt='star'>";
} $i++;
echo "</td>"; }
} $i = $note;
?> while ($i<3){
</tr> echo "<img class='etoile' src='../ressources/image/star.png' alt='star'>";
</table> $i++;
</div> }
</div> echo "</td>";
</body> }
</html> ?>
</tr>
</table>
</div>
</div>
</body>
</html>

@ -6,8 +6,6 @@
body{ body{
background-image:url("../ressources/image/background.jpg"); background-image:url("../ressources/image/background.jpg");
background-attachment: fixed;
background-size: cover;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: row; flex-direction: row;
@ -54,12 +52,10 @@ h1{
} }
#formulaire{ #formulaire{
margin-top: 3em;
background-color: white; background-color: white;
border-radius: 10px; border-radius: 10px;
padding: 4em; padding: 4em;
width: 40%; width: 40%;
margin-bottom: 3em;
} }
.form{ .form{

@ -62,6 +62,7 @@ if (isset($_POST['dateDepart']) && isset($_POST['dateArrivee']) && isset($_POST[
<body> <body>
<script type="application/javascript" src="../ressources/libs/jquery-3.4.1.js"></script> <script type="application/javascript" src="../ressources/libs/jquery-3.4.1.js"></script>
<script type="application/javascript" src="../ressources/libs/jquery-ui.min.js"></script> <script type="application/javascript" src="../ressources/libs/jquery-ui.min.js"></script>
<script type="application/javascript" src="../ressources/libs/chosen.jquery.min.js"></script>
<?php require_once ("../ressources/navbarhtml.php"); ?> <?php require_once ("../ressources/navbarhtml.php"); ?>
<div id="formulaire"> <div id="formulaire">
<h1>Déposer un trajet</h1> <h1>Déposer un trajet</h1>

@ -1,55 +1,61 @@
body { /*General*/
color:black;
background-color:white; body {
background-image:url("../ressources/image/background.jpg"); color:black;
background-attachment: fixed; background-color:white;
background-size:cover; background-image:url("../ressources/image/background.jpg");
margin: 0; background-repeat:no-repeat;
font-family: Ubuntu,Helvetica,sans-serif; background-size:104%;
} margin: 0;
font-family: Ubuntu,Helvetica,sans-serif;
#container{ }
margin : 5% 15% 5% 15%;
background-color : white; #container{
border : 2px solid black; margin : 5% 15% 5% 15%;
} background-color : white;
border : 2px solid black;
h1{ }
text-align : center;
font-size : 250%; h1{
font-weight: bold; text-align : center;
} font-size : 250%;
font-weight: bold;
#form{ }
text-align:center;
} /*Formulaire*/
#avis_laisse{ #form{
box-sizing: border-box; text-align:center;
resize: none; }
width: 70%;
height: 16em; #avis_laisse{
} box-sizing: border-box;
resize: none;
#submit{ width: 70%;
margin-bottom: 1%; height: 16em;
} }
.rating { #submit{
direction: rtl; margin-bottom: 1%;
} }
.rating a { /*Etoile de notation*/
color: #aaa;
text-decoration: none; .rating {
font-size: 3em; direction: rtl;
transition: color .4s; }
}
.rating a {
.rating a:hover, color: #aaa;
.rating a:focus, text-decoration: none;
.rating a:hover ~ a, font-size: 3em;
.rating a:focus ~ a { transition: color .4s;
color: orange; }
cursor: pointer;
.rating a:hover,
.rating a:focus,
.rating a:hover ~ a,
.rating a:focus ~ a {
color: orange;
cursor: pointer;
} }

@ -1,89 +1,92 @@
<?php <?php
//Verifier qu'un avis n'a pas déja été envoyer avec le compte $mail pour le trajet $codetrajet //Declaration des fonctions
function checkAvis($db, $mail, $codetrajet)
{ function checkAvis($db, $mail, $codetrajet)
$result = pg_query_params($db, "SELECT COUNT(*) FROM avis WHERE mailEmetteur = $1 AND codetrajet = $2;", array($mail, $codetrajet)); {
$row = pg_fetch_array($result); $result = pg_query_params($db, "SELECT COUNT(*) FROM avis WHERE mailEmetteur = $1 AND codetrajet = $2;", array($mail, $codetrajet));
return $row[0] == 0; $row = pg_fetch_array($result);
} return $row[0] == 0;
}
//Verifier que le trajet à bien été fait par l'utilisateur $mail
function checkCodeTrajetAvis($db, $mail, $codetrajet) function checkCodeTrajetAvis($db, $mail, $codetrajet)
{ {
$result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE tr.codetrajet = $1 AND tr.codetrajet = re.codetrajet AND re.mailutilisateur = $2;", array($codetrajet, $mail)); $result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE tr.codetrajet = $1 AND tr.codetrajet = re.codetrajet AND re.mailutilisateur = $2;", array($codetrajet, $mail));
$row = pg_fetch_array($result); $row = pg_fetch_array($result);
return $row[0] >= 1; return $row[0] >= 1;
} }
session_start(); //Importation des fichiers necessaires
require_once("../connexionBD.php");
require_once("../ressources/user.php"); session_start();
require_once("../connexionBD.php");
//Si on est pas connecté redirection vers la page de connexion require_once("../ressources/user.php");
if (!isset($_SESSION['mail'])) {
header('Location: ../index.php'); //Si on est pas connecté redirection vers la page de connexion
exit();
} if (!isset($_SESSION['mail'])) {
header('Location: ../index.php');
$mail = $_SESSION['mail']; exit();
if (isset($_POST['codetrajet']) && isset($_POST['avislaisse']) && isset($_POST['note'])) { }
$avis = $_POST['avislaisse'];
$note = $_POST['note']; $mail = $_SESSION['mail'];
$codetrajet = intval($_POST['codetrajet']); if (isset($_POST['codetrajet']) && isset($_POST['avislaisse']) && isset($_POST['note'])) {
$date = date('Y-m-d H:i:s'); //Recuperation des variables passer par le formulaire
//Verifier que l'utilisateur a bien participé au trajet et qu'il n'en a pas déjà poster un $avis = $_POST['avislaisse'];
if (checkAvis($db, $mail, $codetrajet) && checkCodeTrajetAvis($db, $mail, $codetrajet)) { $note = $_POST['note'];
$requete = "INSERT INTO avis (mailemetteur, codetrajet, commentaire, dateavis, note, estlu) VALUES ($1,$2,$3,$4,$5, false);"; $codetrajet = intval($_POST['codetrajet']);
$envoi = pg_query_params($db, $requete, array($mail, $codetrajet, $avis, $date, $note)); $date = date('Y-m-d H:i:s');
if (!$envoi) { if (checkAvis($db, $mail, $codetrajet) && checkCodeTrajetAvis($db, $mail, $codetrajet)) {
echo "Erreur d'ecriture dans la BD"; $requete = "INSERT INTO avis (mailemetteur, codetrajet, commentaire, dateavis, note, estlu) VALUES ($1,$2,$3,$4,$5, false);"; //Requete d'insertion
echo "<br><a href='../tableauBord/tableauBord.php'>Retour vers le tableau de bord</a>"; $envoi = pg_query_params($db, $requete, array($mail, $codetrajet, $avis, $date, $note)); // Envoie de la requete
exit(); if (!$envoi) { //Erreur
} else { echo "Erreur d'ecriture dans la BD";
header('Location: ../tableauBord/tableauBord.php'); echo "<br><a href='../tableauBord/tableauBord.php'>Retour vers le tableau de bord</a>";
exit(); exit();
} } else { //Redirection en cas de reussite
} header('Location: ../tableauBord/tableauBord.php');
} exit();
?> }
<!DOCTYPE html> }
<html lang="fr"> }
<head> ?>
<meta charset="UTF-8"> <!DOCTYPE html>
<link rel="stylesheet" href="deposer_avis.css"> <html lang="fr">
<link rel="stylesheet" href="../ressources/navbarhtml.css"> <head>
<link rel="icon" href="../ressources/favicon.ico"/> <meta charset="UTF-8">
<title>Deposer un avis</title> <link rel="stylesheet" href="deposer_avis.css">
</head> <link rel="stylesheet" href="../ressources/navbarhtml.css">
<body> <link rel="icon" href="../ressources/favicon.ico"/>
<?php require_once("../ressources/navbarhtml.php"); ?> <title>Deposer un avis</title>
<div id="container"> </head>
<div id="entete"> <body>
<h1 id="titre">Deposer un avis</h1> <?php require_once("../ressources/navbarhtml.php"); ?>
</div> <div id="container">
<div id="form"> <div id="entete"> <--Entete-->
<form id="formulaire_avis" enctype="multipart/form-data" action="deposer_avis.php" method="post"> <h1 id="titre">Deposer un avis</h1>
<textarea id="avis_laisse" name="avislaisse" form="formulaire_avis" placeholder="Avis"></textarea> </div>
<h2>NOTE</h2> <div id="form"><--Formulaire-->
<div class="rating"> <form id="formulaire_avis" enctype="multipart/form-data" action="deposer_avis.php" method="post">
<input type="radio" name="note" id="note3" value="3"> <textarea id="avis_laisse" name="avislaisse" form="formulaire_avis" placeholder="Avis"></textarea> <--Champ_de_saisie_d_avis-->
<a href="#3" label for="note3" title="Donner 3 étoiles"></a> <h2>NOTE</h2>
<input type="radio" name="note" id="note2" value="2"> <div class="rating"><--Bouton_note-->
<a href="#2" label for="note2" title="Donner 2 étoiles"></a> <input type="radio" name="note" id="note3" value="3">
<input type="radio" name="note" id="note1" value="1"> <a href="#3" label for="note3" title="Donner 3 étoiles"></a>
<a href="#1" label for="note1" title="Donner 1 étoiles"></a> <input type="radio" name="note" id="note2" value="2">
<?php <a href="#2" label for="note2" title="Donner 2 étoiles"></a>
if (isset($_GET['codetrajet'])) { <input type="radio" name="note" id="note1" value="1">
$codeTrajet = $_GET['codetrajet']; <a href="#1" label for="note1" title="Donner 1 étoiles"></a>
echo "<input type='hidden' name='codetrajet' value='$codeTrajet'>"; <?php
} if (isset($_GET['codetrajet'])) {
?> $codeTrajet = $_GET['codetrajet'];
</div> echo "<input type='hidden' name='codetrajet' value='$codeTrajet'>";
<br> }
<input type="submit" value="Valider" id="submit"> ?>
</form> </div>
</div> <br>
</div> <input type="submit" value="Valider" id="submit"><--Envoie-->
</body> </form>
</html> </div>
</div>
</body>
</html>

@ -10,9 +10,6 @@ html, body{
} }
body{ body{
background-image: url("ressources/image/background.jpg");
background-size: cover;
background-attachment: fixed;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: row; flex-direction: row;

@ -8,7 +8,6 @@ if(!isset($_SESSION['mail'])){
$mail = strtolower(htmlentities(pg_escape_string ($_POST['mail_field']))); $mail = strtolower(htmlentities(pg_escape_string ($_POST['mail_field'])));
$password = htmlentities(pg_escape_string($_POST['password'])); $password = htmlentities(pg_escape_string($_POST['password']));
//Vérification des information d'authentification
$result = authentification($db, $mail, $password); $result = authentification($db, $mail, $password);
if($result) { if($result) {
$_SESSION['mail'] = $mail; $_SESSION['mail'] = $mail;

@ -10,17 +10,14 @@ html, body{
} }
body{ body{
background-image:url("../ressources/image/background.jpg");
background-attachment: fixed;
background-size: cover;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
align-items: center;
} }
#formulaire{ #formulaire{
margin-top: 3em;
background-color: white; background-color: white;
border-radius: 10px; border-radius: 10px;
padding: 4em; padding: 4em;

@ -3,60 +3,61 @@ session_start();
require_once('../connexionBD.php'); require_once('../connexionBD.php');
require_once('../ressources/user.php'); require_once('../ressources/user.php');
if (!isset($_SESSION['mail'])) { if (!isset($_SESSION['mail'])){
if (isset($_POST['login']) || isset($_FILES['avatar'])) { if (isset($_POST['login']) || isset($_FILES['avatar'])){
if (isset($_POST['login']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])) { if (isset($_POST['login']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])){
$login = htmlentities(pg_escape_string($_POST['login'])); $login = htmlentities(pg_escape_string($_POST['login']));
$password = htmlentities(pg_escape_string($_POST['password'])); $password = htmlentities(pg_escape_string($_POST['password']));
$prenom = htmlentities(pg_escape_string($_POST['prenom'])); $prenom = htmlentities(pg_escape_string($_POST['prenom']));
$nom = htmlentities(pg_escape_string($_POST['nom'])); $nom = htmlentities(pg_escape_string($_POST['nom']));
$dateN = htmlentities(pg_escape_string($_POST['dateN'])); $dateN = htmlentities(pg_escape_string($_POST['dateN']));
$mail = strtolower(htmlentities(pg_escape_string($_POST['mail']))); $mail = strtolower(htmlentities(pg_escape_string($_POST['mail'])));
$phone = htmlentities(pg_escape_string($_POST['phone'])); $phone = htmlentities(pg_escape_string($_POST['phone']));
//Verifier que le format du mail est correct
if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
header('Location: inscription.php?error=1');
exit();
} //Verifie qu'un compte n'a pas déjà été créé avec ce mail
elseif (!isMailUnique($db, $mail)) {
header('Location: inscription.php?error=2');
exit();
} //Verifie que le login entré est unique
elseif (!isLoginUnique($db, $login)) {
header('Location: inscription.php?error=3');
exit();
} else {
if (isset($_FILES['avatar']) and !empty($_FILES['avatar']['name'])) { if (!filter_var($mail, FILTER_VALIDATE_EMAIL)){
$fic = $_FILES['avatar']; header('Location: inscription.php?error=1');
//Charger l'avatar sur le serveur exit();
$res = uploadAvatar($mail, $fic); }
switch ($res) { elseif (!isMailUnique($db, $mail)){
case -1: header('Location: inscription.php?error=2');
header('Location: inscription.php?error=4'); exit();
exit(); }
case -2: elseif (!isLoginUnique($db, $login)){
header('Location: inscription.php?error=5'); header('Location: inscription.php?error=3');
exit(); exit();
case -3: }
header('Location: inscription.php?error=6'); else {
exit(); if (isset($_FILES['avatar']) and !empty($_FILES['avatar']['name'])) {
} $fic = $_FILES['avatar'];
} $res = uploadAvatar($mail, $fic);
$result = creerUtilisateur($db, $mail, $password, $prenom, $nom, $login, $phone, $dateN); switch ($res){
if ($result) { case -1:
header('Location: ../index.php'); header('Location: inscription.php?error=4');
exit(); exit();
} else { case -2:
header('Location: inscription.php?error=6'); header('Location: inscription.php?error=5');
exit(); exit();
} case -3:
} header('Location: inscription.php?error=6');
exit();
} }
}
$result = creerUtilisateur($db, $mail, $password, $prenom, $nom, $login, $phone, $dateN);
if ($result) {
header('Location: ../index.php');
exit();
}
else{
header('Location: inscription.php?error=6');
exit();
}
} }
} else { }
header('Location: ../tableauBord/tableauBord.php'); }
exit(); }
else {
header('Location: ../tableauBord/tableauBord.php');
exit();
} }
?> ?>
<!DOCTYPE html> <!DOCTYPE html>

@ -2,8 +2,8 @@ body {
color:black; color:black;
background-color:white; background-color:white;
background-image:url("../ressources/image/background.jpg"); background-image:url("../ressources/image/background.jpg");
background-attachment: fixed; background-repeat:no-repeat;
background-size:cover; background-size:104%;
margin: 0; margin: 0;
font-family: Ubuntu,Helvetica,sans-serif; font-family: Ubuntu,Helvetica,sans-serif;
} }

@ -36,22 +36,16 @@ require_once("../ressources/navbarhtml.php");
<div id="liste"> <div id="liste">
<table> <table>
<?php <?php
$result = pg_query_params($db, "SELECT * FROM Trajet Where mailproposition = $1 AND estannule = false ORDER BY datedepart DESC;", array($mail)); $result = pg_query_params($db, "SELECT * FROM Trajet Where mailproposition = $1 AND estannule = false;", array($mail));
while ($row = pg_fetch_array($result)) { while ($row = pg_fetch_array($result)) {
$login = getLogin($db, $mail); $login = getLogin($db, $mail);
$date_depart = $row['datedepart']; $date_depart = $row['datedepart'];
$codetrajet = $row['codetrajet']; $codetrajet = $row['codetrajet'];
$source = getDepart($db, $codetrajet); $source = getDepart($db, $codetrajet);
$dest = getFin($db, $codetrajet); $dest = getFin($db, $codetrajet);
$date = date('Y-m-d H:i:s');
echo "<tr><td class='ligne'><hr class='separation'/></td><td class='info'>"; echo "<tr><td class='ligne'><hr class='separation'/></td><td class='info'>";
echo "<p>$date_depart - ".$source['nomville']." (".$source['codepostal'].") vers ".$dest['nomville']." (".$dest['codepostal'].") proposé par : $login</p></td>"; echo "<p>$date_depart - $source vers $dest proposé par : $login</p></td>";
if ($date <= $row['datearrivee']){ echo "<td><a href='annulerTrajet.php?codetrajet=$codetrajet'>Annuler le trajet</a></td>";
echo "<td><a href='annulerTrajet.php?codetrajet=$codetrajet'>Annuler le trajet</a></td>";
}
else{
echo "<td class='info'><p>Trajet effectué</p></td>";
}
echo "</tr>"; echo "</tr>";
} }
?> ?>

@ -2,8 +2,8 @@ body {
color:black; color:black;
background-color:white; background-color:white;
background-image:url("../ressources/image/background.jpg"); background-image:url("../ressources/image/background.jpg");
background-attachment: fixed; background-repeat:no-repeat;
background-size:cover; background-size:104%;
margin: 0; margin: 0;
font-family: Ubuntu,Helvetica,sans-serif; font-family: Ubuntu,Helvetica,sans-serif;
} }

@ -34,26 +34,17 @@ require_once("../ressources/navbarhtml.php");
<div id="liste"> <div id="liste">
<table> <table>
<?php <?php
$result = pg_query_params($db, "SELECT DISTINCT ut.login as login, tr.* FROM utilisateur ut, trajet tr, reserver re WHERE ut.mail = re.mailutilisateur AND re.codetrajet = tr.codetrajet AND re.mailutilisateur = $1 AND tr.estannule = false ORDER BY datedepart DESC;", array($mail)); $result = pg_query_params($db, "SELECT DISTINCT ut.login as login, tr.* FROM utilisateur ut, trajet tr, reserver re WHERE ut.mail = re.mailutilisateur AND re.codetrajet = tr.codetrajet AND re.mailutilisateur = $1 AND tr.estannule = false;", array($mail));
while ($row = pg_fetch_array($result)) { while ($row = pg_fetch_array($result)) {
$login = $row['login']; $login = $row['login'];
$date_depart = $row['datedepart']; $date_depart = $row['datedepart'];
$codetrajet = $row['codetrajet']; $codetrajet = $row['codetrajet'];
$source = getDepart($db, $codetrajet); $source = getDepart($db, $codetrajet);
$date = date('Y-m-d H:i:s');
$dest = getFin($db, $codetrajet); $dest = getFin($db, $codetrajet);
echo "<tr><td class='ligne'><hr class='separation'/></td>"; echo "<tr><td class='ligne'><hr class='separation'/></td>";
echo "<td class='info'><p>$date_depart - ".$source['nomville']." (".$source['codepostal'].") vers ".$dest['nomville']." (".$dest['codepostal'].") proposé par : $login</p></td>"; echo "<td class='info'><p>$date_depart - $source vers $dest proposé par : $login</p></td>";
echo "<td><a href='annulerReservation.php?codetrajet=$codetrajet'>Annuler la reservation</a></td>";
if ($date <= $row['datearrivee']){ echo "<td><a href='../deposer_avis/deposer_avis.php?codetrajet=$codetrajet'>Déposer un avis</a></td>";
echo "<td><a href='annulerReservation.php?codetrajet=$codetrajet'>Annuler la reservation</a></td>";
}
else{
echo "<td class='info'><p>Trajet effectué</p></td>";
}
if (!avisExiste($db, $mail, $codetrajet)){
echo "<td><a href='../deposer_avis/deposer_avis.php?codetrajet=$codetrajet'>Déposer un avis</a></td>";
}
echo "</tr>"; echo "</tr>";
} }
?> ?>

@ -1,49 +1,53 @@
body { /*General*/
color:black;
background-color:white; body {
background-image:url("../ressources/image/background.jpg"); color:black;
background-attachment: fixed; background-color:white;
background-size:cover; background-image:url("../ressources/image/background.jpg");
margin: 0; background-repeat:no-repeat;
font-family: Ubuntu,Helvetica,sans-serif; background-size:104%;
} margin: 0;
font-family: Ubuntu,Helvetica,sans-serif;
#container{ }
margin : 5% 5% 5% 5%;
background-color : white; #container{
border : 2px solid black; margin : 5% 5% 5% 5%;
} background-color : white;
border : 2px solid black;
h1{ }
text-align : center;
font-size : 250%; h1{
font-weight: bold; text-align : center;
} font-size : 250%;
font-weight: bold;
h2{ }
text-align : center;
font-size : 150%; h2{
font-weight: bold; text-align : center;
} font-size : 150%;
font-weight: bold;
#bouton_retour{ }
transform : rotate(45deg);
} /*Affichage liste trajets*/
.separation{ #bouton_retour{
margin-top : 5%; transform : rotate(45deg);
margin-left : 20%; }
min-height: 2em;
width : 5px; .separation{
background: black; margin-top : 5%;
} margin-left : 20%;
min-height: 2em;
td{ width : 5px;
padding-left: 1.5em; background: black;
padding-right: 1.5em; }
width: 33%;
} td{
padding-left: 1.5em;
#info{ padding-right: 1.5em;
width: 60%; width: 33%;
}
#info{
width: 60%;
} }

@ -1,75 +1,81 @@
<?php <?php
session_start(); session_start();
require_once("../connexionBD.php");
require_once("../ressources/trajet.php"); //Importation des fichiers necessaires
//Si on est pas connecté redirection vers la page de connexion require_once("../connexionBD.php");
if (!isset($_SESSION['mail'])) { require_once("../ressources/trajet.php");
header('Location: ../index.php');
exit(); //Si on est pas connecté redirection vers la page de connexion
}
$mail = $_SESSION['mail']; if (!isset($_SESSION['mail'])) {
if (!(isset($_POST['villeDepart']) && isset($_POST['villeArrive']) && isset($_POST['date_heure']))) { header('Location: ../index.php');
header('Location: ../tableauBord/tableauBord.php'); exit();
exit(); }
}
$source = explode('%%', $_POST['villeDepart']); $mail = $_SESSION['mail'];
$cpsource = $source[1]; if (!(isset($_POST['lieu_depart']) && isset($_POST['lieu_arrivee']) && isset($_POST['date_heure']))){
$source = $source[0]; header('Location: ../tableauBord/tableauBord.php');
$dest = explode('%%', $_POST['villeArrive']); exit();
$cpdest = $dest[1]; }
$dest = $dest[0];
$date_depart = $_POST['date_heure']; if (isset($_POST['lieu_depart']) && isset($_POST['lieu_arrivee']) && isset($_POST['date_heure'])) {
if ($date_depart < date('Y-m-d')) { $source = $_POST['lieu_depart']; //Recuperation des valeurs passé par le form
echo "Erreur date</br>"; $dest = $_POST['lieu_arrivee'];
echo "<a href='../tableauBord/tableauBord.php'>Retour vers le tableau de bord</a>"; $date_depart = $_POST['date_heure'];
exit(); if ($date_depart < date('Y-m-d')){ //Verification de date
} echo "Erreur date</br>";
echo "<a href='../tableauBord/tableauBord.php'>Retour vers le tableau de bord</a>";
$result = pg_query_params($db, "(SELECT DISTINCT ut.login, ta.codetrajet, ta.datedepart FROM ville v, traverser tr, utilisateur ut, trajet ta WHERE DATE(ta.datedepart) = DATE($3) AND ta.estannule = false AND ta.codetrajet = tr.codetrajet AND ta.mailproposition = ut.mail AND tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.numeroetape = (SELECT MIN(numeroetape) FROM traverser WHERE LOWER(nomVille) = LOWER($1) AND codepostal = $4)) exit();
INTERSECT (SELECT DISTINCT ut.login, ta.codetrajet, ta.datedepart FROM ville v, traverser tr, utilisateur ut, trajet ta WHERE DATE(ta.datedepart) = DATE($3) AND ta.estannule = false AND ta.codetrajet = tr.codetrajet AND ta.mailproposition = ut.mail AND tr.nomVille = v.nomVille AND LOWER(v.nomville) = LOWER($2) AND v.codepostal = $5 AND tr.codepostal = v.codepostal AND tr.numeroetape != 1);", array($source, $dest, $date_depart, $cpsource, $cpdest)); }
}
?>
<!DOCTYPE html> //Requete de selection des trajets a affiché
<html lang="fr">
<head> $result = pg_query_params($db, "(SELECT DISTINCT ut.login, ta.codetrajet, ta.datedepart FROM ville v, traverser tr, utilisateur ut, trajet ta WHERE DATE(ta.datedepart) = DATE($3) AND ta.estannule = false AND ta.codetrajet = tr.codetrajet AND ta.mailproposition = ut.mail AND tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.numeroetape = (SELECT MIN(numeroetape) FROM traverser WHERE LOWER(nomVille) = LOWER($1)))
<meta charset="UTF-8"> INTERSECT (SELECT DISTINCT ut.login, ta.codetrajet, ta.datedepart FROM ville v, traverser tr, utilisateur ut, trajet ta WHERE DATE(ta.datedepart) = DATE($3) AND ta.estannule = false AND ta.codetrajet = tr.codetrajet AND ta.mailproposition = ut.mail AND tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.numeroetape = (SELECT MAX(numeroetape) FROM traverser WHERE LOWER(nomVille) = LOWER($2)));", array($source, $dest, $date_depart));
<link rel="stylesheet" href="liste_trajet.css">
<link rel="stylesheet" href="../ressources/navbarhtml.css"> ?>
<link rel="icon" href="../ressources/favicon.ico"/> <!DOCTYPE html>
<title>Liste des trajets</title> <html lang="fr">
</head> <head>
<body> <meta charset="UTF-8">
<?php <link rel="stylesheet" href="liste_trajet.css">
require_once("../ressources/navbarhtml.php"); <link rel="stylesheet" href="../ressources/navbarhtml.css">
?> <link rel="icon" href="../ressources/favicon.ico"/>
<div id="container"> <title>Liste des trajets</title>
<div id="entete"> </head>
<a href="../tableauBord/tableauBord.php"><img id="bouton_retour" src="../ressources/image/return.png" <body>
alt="Bouton retour"></a> <?php
<h1 class="float" id="titre">Liste des trajets</h1> require_once("../ressources/navbarhtml.php");
<br> ?>
<h2>Trajets recherchés : <?php echo "$source ($cpsource) vers $dest ($cpdest)"; ?></h2> <div id="container">
</div> <div id="entete"> <--Entete-->
<div id="liste"> <a href="../tableauBord/tableauBord.php"><img id="bouton_retour" src="../ressources/image/return.png"
<table> alt="Bouton retour"></a>
<?php <h1 class="float" id="titre">Liste des trajets</h1>
while ($row = pg_fetch_array($result)) { <br>
$codetrajet = $row['codetrajet']; <h2>Trajets recherchés : <?php echo $source . " vers " . $dest; ?></h2>
$login = $row['login']; </div>
$source = getDepart($db, $codetrajet); <div id="liste">
$dest = getFin($db, $codetrajet); <table>
$date_depart = $row['datedepart']; <?php
if (checkPlacesVoiture($db, $codetrajet) && $date_depart >= date('Y-m-d H:i:s')) { while ($row = pg_fetch_array($result)) { //Recuperation des resultats de la requete
echo "<tr><td class='ligne'><hr class='separation'/></td><td class='info'>"; $codetrajet = $row['codetrajet'];
echo "<p>$date_depart - ".$source['nomvile']." (".$source['codepostal'].") vers ".$dest['nomvile']." (".$dest['codepostal'].") proposé par : $login</p></td>"; $login = $row['login'];
echo "<td><a href='reserver.php?codetrajet=$codetrajet'>Réserver</a></td>"; $source = getDepart($db, $codetrajet);
echo "</tr>"; $dest = getFin($db, $codetrajet);
} $date_depart = $row['datedepart'];
} if (checkPlacesVoiture($db, $codetrajet) && $date_depart >= date('Y-m-d H:i:s')){ //Affichage des resultats sous forme de tableau
?> echo "<tr><td class='ligne'><hr class='separation'/></td><td class='info'>";
</table> echo "<p>$date_depart - $source vers $dest proposé par : $login</p></td>";
</div> echo "<td><a href='reserver.php?codetrajet=$codetrajet'>Réserver</a></td>";
</div> echo "</tr>";
</body> }
</html> }
?>
</table>
</div>
</div>
</body>
</html>

@ -1,38 +1,38 @@
<?php <?php
session_start(); session_start();
//Declaration de fonction
function verifierTrajet($db, $mail, $codetrajet){ function verifierTrajet($db, $mail, $codetrajet){
$trajet = getTrajet($db, $codetrajet); $trajet = getTrajet($db, $codetrajet);
if (!$trajet){ if (!$trajet){
return false; return false;
} }
$trajet = pg_fetch_array($trajet); return checkReservations($db, $mail, $codetrajet) && checkDatesReserve($db, $mail, $trajet['datedepart']) && checkPlacesVoiture($db, $codetrajet) && strcmp($trajet['mailproposition'], $mail) != 0;
if (strcmp($mail, $trajet['mailproposition']) == 0){
return false;
}
return checkReservations($db, $mail, $codetrajet) && checkPlacesVoiture($db, $codetrajet);
} }
//Importation des fichiers necessaire
require_once("../connexionBD.php"); require_once("../connexionBD.php");
require_once("../ressources/trajet.php"); require_once("../ressources/trajet.php");
if (!isset($_SESSION['mail'])) { if (!isset($_SESSION['mail'])) { // Test si connecté ou non
header('Location: ../index.php'); header('Location: ../index.php');
exit(); exit();
} }
$mail = $_SESSION['mail']; $mail = $_SESSION['mail'];
if (isset($_GET['codetrajet'])){ if (isset($_GET['codetrajet'])){
$codetrajet = $_GET['codetrajet']; $codetrajet = $_GET['codetrajet'];
if (verifierTrajet($db, $mail, $codetrajet) && reserver($db, $mail, $codetrajet)){ if (verifierTrajet($db, $mail, $codetrajet)){ // Test si place dispo et si on peut reserver
header('Location: ../tableauBord/tableauBord.php'); reserver($db, $mail, $codetrajet);
exit();
}
else{
header('Location: ../recherche/recherche.php?error=1');
exit();
} }
} }
header('Location: ../tableauBord/tableauBord.php');
exit();
?> ?>

@ -42,13 +42,13 @@ html, body{
} }
body{ body{
background-attachment: fixed;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
background-image: url("../ressources/image/background.jpg"); background-image: url("../ressources/image/background.jpg");
background-size : cover; background-size : cover;
background-position: center, center;
} }
#formulaire{ #formulaire{

@ -2,6 +2,7 @@
session_start(); session_start();
require_once('../connexionBD.php'); require_once('../connexionBD.php');
require_once ('../ressources/user.php'); require_once ('../ressources/user.php');
require_once ('../ressources/verifconnecte.php');
require_once ('../ressources/voiture.php'); require_once ('../ressources/voiture.php');
$matricule = isset($_POST['matricule']) ? $_POST['matricule'] : NULL; //recuperation valeur formulaire, isset pour eviter l'erreur "Notice: Undefined index" $matricule = isset($_POST['matricule']) ? $_POST['matricule'] : NULL; //recuperation valeur formulaire, isset pour eviter l'erreur "Notice: Undefined index"
@ -10,13 +11,7 @@ $modele = isset($_POST['modele']) ? $_POST['modele'] : NULL;
$nbplaces = isset($_POST['nbplaces']) ? $_POST['nbplaces'] : NULL; $nbplaces = isset($_POST['nbplaces']) ? $_POST['nbplaces'] : NULL;
$anneefab = isset($_POST['anneefab']) ? $_POST['anneefab'] : NULL; $anneefab = isset($_POST['anneefab']) ? $_POST['anneefab'] : NULL;
if (!isset($_SESSION['mail'])) { if (isset($_POST['submitadd'])) { //si formulaire pressé appele la methode
header('Location: index.php');
exit();
}
$mail = $_SESSION['mail'];
if (isset($_POST['submitadd'])) {
$result = pg_query_params($db, "SELECT COUNT(*), matricule FROM voiture WHERE mail = $1 GROUP BY matricule;", array($mail)); $result = pg_query_params($db, "SELECT COUNT(*), matricule FROM voiture WHERE mail = $1 GROUP BY matricule;", array($mail));
$row = pg_fetch_array($result); $row = pg_fetch_array($result);
if($row[0] == 0){ if($row[0] == 0){
@ -34,12 +29,12 @@ if (!$user){
exit(); exit();
} }
if (isset($_POST['login']) || isset($_FILES['avatar'])){ if (isset($_POST['login']) || isset($_FILES['avatar'])){ //si connecte ou si avatar de defini
if (isset($_FILES['avatar']) and !empty($_FILES['avatar']['name'])) { if (isset($_FILES['avatar']) and !empty($_FILES['avatar']['name'])) { //si avatar et pas de fichier au nom de l'utilisateur
$fic = $_FILES['avatar']; $fic = $_FILES['avatar']; //avatar envoyé par l'utilisateur
supprimerAvatar($mail); supprimerAvatar($mail); //supprime l'avatar courant de l'utilisateur
$res = uploadAvatar($mail, $fic); $res = uploadAvatar($mail, $fic); //enregistre l'avatar avec le mail de l'utilisateur
switch ($res){ switch ($res){ //controle d'erreur de la fonction uploadAvatar
case -1: case -1:
header('Location: profil.php?error=4'); header('Location: profil.php?error=4');
exit(); exit();
@ -51,14 +46,14 @@ if (isset($_POST['login']) || isset($_FILES['avatar'])){
exit(); exit();
} }
} }
if (isset($_POST['login']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])) { if (isset($_POST['login']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])) { //controle du remplissage du formulaire
$login = htmlentities(pg_escape_string($_POST['login'])); $login = htmlentities(pg_escape_string($_POST['login'])); //recupere la variable du formulaire
$password = htmlentities(pg_escape_string($_POST['password'])); $password = htmlentities(pg_escape_string($_POST['password']));
$confirmation = htmlentities(pg_escape_string($_POST['confirmation'])); $confirmation = htmlentities(pg_escape_string($_POST['confirmation']));
$prenom = htmlentities(pg_escape_string($_POST['prenom'])); $prenom = htmlentities(pg_escape_string($_POST['prenom']));
$nom = htmlentities(pg_escape_string($_POST['nom'])); $nom = htmlentities(pg_escape_string($_POST['nom']));
$phone = htmlentities(pg_escape_string($_POST['phone'])); $phone = htmlentities(pg_escape_string($_POST['phone']));
//Si le login a change on le modifie
if (loginChange($user, $login)) { if (loginChange($user, $login)) {
if (!isLoginUniqueModifier($db, $mail, $login)) { if (!isLoginUniqueModifier($db, $mail, $login)) {
header('Location: profil.php?error=1'); header('Location: profil.php?error=1');
@ -75,7 +70,7 @@ if (isset($_POST['login']) || isset($_FILES['avatar'])){
header('Location: profil.php?error=2'); header('Location: profil.php?error=2');
exit(); exit();
} }
//Modifier l'utilisateur et afficher un message d'erreur si erreur
if (!modifierUtilisateur($db, $mail, $prenom, $nom, $password, $phone)) { if (!modifierUtilisateur($db, $mail, $prenom, $nom, $password, $phone)) {
header('Location: profil.php?error=6'); header('Location: profil.php?error=6');
exit(); exit();
@ -170,11 +165,7 @@ if (isset($_POST['login']) || isset($_FILES['avatar'])){
<label for="avatar">Image du Profil :</label> <label for="avatar">Image du Profil :</label>
<input type="file" id="avatar" class="form" name="avatar" accept="image/png, image/jpeg"> <input type="file" id="avatar" class="form" name="avatar" accept="image/png, image/jpeg">
</div> </div>
<?php <?php getErrorProfil($_GET['error']); ?>
if (isset($_GET['error'])){
echo "<p class='error'>".getErrorProfil($_GET['error'])."</p>";
}
?>
<input id="submit" class="button" type="submit" value="Modifier"> <input id="submit" class="button" type="submit" value="Modifier">
</form> </form>
</div> </div>

@ -1,91 +1,40 @@
*{ .centrage {
font-family: "Arial";
padding: 0;
margin: 0;
}
body{
background-attachment: fixed;
background-image:url("../ressources/image/background.jpg");
background-size: cover;
display: flex;
justify-content: center;
flex-direction: column;
}
#container{
margin-top: 3em;
display: flex;
justify-content: center;
}
h1{
font-size: 2em;
text-align: center; text-align: center;
margin-bottom: 3em; font-size: 20px;
} }
.villeSelect, .villeText{ .global {
box-sizing: border-box;
margin-bottom: 0.7em;
}
.villeText{ text-align: center;
width: 20%;
}
.villeSelect{
margin-bottom: 0.7em;
margin-left: 2%;
width: 33%;
} }
#submit{ br {
margin-top: 1em; line-height: 50px;
margin-left: 50%;
transform: translate(-50%);
} }
#formulaire{ body {
color: black;
background-color: white; background-color: white;
border-radius: 10px; background-image: url("../ressources/image/background.jpg");
padding: 4em; background-repeat: no-repeat;
width: 40%; background-size: 104%;
} margin: 0;
.form{
box-sizing: border-box;
width: 55%;
margin-bottom: 0.7em;
} }
.button{ #container {
cursor: pointer; margin: 5% 15% 2% 15%;
font-weight: bold; background-color: white;
padding: 8px; border: 2px solid black;
color: white;
background-color: rgb(65, 154, 28);
border-radius: 5em;
border: none;
} }
.line{ h1 {
display: flex; text-align: center;
flex-wrap: wrap; font-size: 250%;
flex-direction: row;
justify-content: left;
width: 100%;
} }
.error{ #form {
margin-top: 1em;
color: red;
text-align: center; text-align: center;
} }
.label{
box-sizing: border-box;
font-size: 1.1em;
width: 45%;
min-width: 8em;
}

@ -1,23 +0,0 @@
$(document).ready(function () {
//Copier les options
let options = $('#villeDepart option').clone();
$('#villeDepartText').keyup(function () {
let val = $(this).val().toString().toLowerCase();
$('#villeDepart').empty();
//Récuperer les option filtrées ou toutes les options si vide
options.filter(function (idx, el) {
return val === '' || $(el).text().toLowerCase().indexOf(val) >= 0;
}).appendTo('#villeDepart');//ajouter à la liste
});
//Copier les options
let optionsArrive = $('#villeArrive option').clone();
$('#villeArriveText').keyup(function () {
let val = $(this).val().toString().toLowerCase();
$('#villeArrive').empty();
//Récuperer les option filtrées ou toutes les options si vide
optionsArrive.filter(function (idx, el) {
return val === '' || $(el).text().toLowerCase().indexOf(val) >= 0;
}).appendTo('#villeArrive');//ajouter à la liste
});
});

@ -1,16 +1,6 @@
<?php <?php
function getError($code)
{
switch ($code) {
case 1:
return "Impossible de réserver ce trajet";
}
}
session_start(); session_start();
require_once('../ressources/verifconnecte.php'); require_once('../ressources/verifconnecte.php');
require_once('../ressources/trajet.php');
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@ -27,44 +17,38 @@ require_once('../ressources/trajet.php');
require_once("../ressources/navbarhtml.php"); require_once("../ressources/navbarhtml.php");
?> ?>
<div id="container"> <div id="container">
<div id="formulaire"> <div id="entete">
<h1>Rechercher trajet</h1> <h1>Rechercher trajet</h1><br/>
</div>
<div class="global bord">
<form method="post" action="../liste_trajets/liste_trajet.php"> <form method="post" action="../liste_trajets/liste_trajet.php">
<div class="line">
<label class="label" for="villeDepart">Ville de départ : </label> <label>
<input type="text" class="form, villeText" name="villeDepartText" id="villeDepartText"> <input name="lieu_depart" type="text" placeholder="Lieu de départ" class="centrage" required>
<select class="form, villeSelect" name="villeDepart" id="villeDepart" required> <br/>
<option selected></option> <br/>
<?php afficherVilles($db); ?> </label>
</select>
</div> <label>
<div id="villeEtapeDiv" class="line"> <input name="lieu_arrivee" type="text" placeholder="Lieu d'arrivée" class="centrage" required>
<label class="label" for="villeArrive">Etape : </label> <br/>
<input type="text" class="form, villeText" id="villeArriveText" name="villeArriveText"> <br/>
<select class="form, villeSelect" name="villeArrive" id="villeArrive" required> </label>
<option selected></option>
<?php afficherVilles($db); ?> <label>
</select> <input name="date_heure" type="date" placeholder="Date et heure de départ" class="centrage"
</div>
<div class="line">
<label class="label" for="date">Date départ : </label>
<input id="date" class="form" name="date_heure" type="date" placeholder="Date et heure de départ" class="centrage"
required> required>
</div> <br/>
</label>
<br/> <br/>
<label> <label>
<input id="submit" class="button" name="submit" type="submit" value="Rechercher" required> <input id="submit" name="submit" type="submit" value="Rechercher" class="centrage">
</label> </label>
</form> </form>
<?php
if (isset($_GET['error'])) {
echo "<p class='error'>" . getError($_GET['error']) . "</p>";
}
?>
</div> </div>
</div> </div>
</div>
</body> </body>
<script type="application/javascript" src="../ressources/libs/jquery-3.4.1.js"></script>
<script type="application/javascript" src="../ressources/libs/jquery-ui.min.js"></script>
<script src="recherche.js"></script>
</html> </html>

@ -7,7 +7,7 @@ function getListeVilles($db)
} }
function reserver($db, $mail, $codetrajet){ function reserver($db, $mail, $codetrajet){
return pg_query_params($db, "INSERT INTO Reserver VALUES ($1, $2, false, $3);", array($mail, $codetrajet, date('Y-m-d H:i:s'))); return pg_query_params($db, "INSERT INTO Reserver VALUES ($1, $2, $3);", array($mail, $codetrajet, date('Y-m-d H:i:s')));
} }
function getTrajet($db, $codetrajet) function getTrajet($db, $codetrajet)
@ -37,18 +37,12 @@ function creerEtapes($db, $codeTrajet, $etapes)
//Vérifier la cohérence des dates //Vérifier la cohérence des dates
function checkDates($db, $mail, $dateDepart, $dateArrivee) function checkDates($db, $mail, $dateDepart, $dateArrivee)
{ {
$valide = $dateDepart <= $dateArrivee && $dateDepart >= date('Y-m-d H:i:s'); $valide = $dateDepart < $dateArrivee && $dateDepart > date('Y-m-d H:i:s');
$result = pg_query_params($db, "SELECT COUNT(*) From Trajet WHERE mailproposition = $1 AND estannule = false AND $2 BETWEEN datedepart AND datearrivee;", array($mail, $dateDepart)); $result = pg_query_params($db, "SELECT COUNT(*) From Trajet WHERE mailproposition = $1 AND $2 BETWEEN datedepart AND datearrivee;", array($mail, $dateDepart));
$row = pg_fetch_array($result); $row = pg_fetch_array($result);
return $row[0] == 0 && $valide; return $row[0] == 0 && $valide;
} }
//Récupérer les étapes d'un trajet
function getEtapesTrajet($db, $codetrajet){
$result = pg_query_params($db, "SELECT * FROM Traverser WHERE codetrajet = $1 ;", array($codetrajet));
return $result;
}
//Vérifier le nombre de places restantes //Vérifier le nombre de places restantes
function checkPlacesVoiture($db, $codetrajet) function checkPlacesVoiture($db, $codetrajet)
{ {
@ -86,10 +80,9 @@ function checkVoiture($db, $mail, $matricule)
return !strcmp($matricule, $row[0]); return !strcmp($matricule, $row[0]);
} }
//Recuperer le nombre de trajets restant proposés par l'utilisateur $mail
function getTrajetsProposes($db, $mail) function getTrajetsProposes($db, $mail)
{ {
$result = pg_query_params($db, "SELECT COUNT(*) from Trajet WHERE mailProposition = $1 AND estAnnule = false AND datedepart >= $2;", array($mail, date('Y-m-d H:i:s'))); $result = pg_query_params($db, "SELECT COUNT(*) from Trajet WHERE mailProposition = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail));
if ($result) { if ($result) {
$row = pg_fetch_array($result); $row = pg_fetch_array($result);
return $row[0]; return $row[0];
@ -97,10 +90,9 @@ function getTrajetsProposes($db, $mail)
return 0; return 0;
} }
//Recuperer le nombre de trajets restant reservés par l'utilisateur $mail
function getTrajetsReserves($db, $mail) function getTrajetsReserves($db, $mail)
{ {
$result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE re.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND tr.estannule = false AND re.estannule = false AND tr.datedepart >= $2;", array($mail, date('Y-m-d H:i:s'))); $result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE re.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail));
if ($result) { if ($result) {
$row = pg_fetch_array($result); $row = pg_fetch_array($result);
return $row[0]; return $row[0];
@ -158,35 +150,31 @@ function afficherVilles($db)
} }
} }
//Récuperer la ville de départ du trajet $codetrajet
function getDepart($db, $codetajet) function getDepart($db, $codetajet)
{ {
$result = pg_query_params($db, "SELECT * FROM ville v, traverser tr WHERE tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.codetrajet = $1 AND tr.numeroetape = (SELECT MIN(numeroetape) FROM traverser WHERE codetrajet = $1);", array($codetajet)); $result = pg_query_params($db, "SELECT v.nomVille FROM ville v, traverser tr WHERE tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.codetrajet = $1 AND tr.numeroetape = (SELECT MIN(numeroetape) FROM traverser WHERE codetrajet = $1);", array($codetajet));
$return = false; $return = false;
if ($result) { if ($result) {
$return = pg_fetch_array($result); $return = pg_fetch_array($result)[0];
} }
return $return; return $return;
} }
//Récuperer la ville d'arrivée du trajet $codetrajet
function getFin($db, $codetajet) function getFin($db, $codetajet)
{ {
$result = pg_query_params($db, "SELECT * FROM ville v, traverser tr WHERE tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.codetrajet = $1 AND tr.numeroetape = (SELECT MAX(numeroetape) FROM traverser WHERE codetrajet = $1);", array($codetajet)); $result = pg_query_params($db, "SELECT v.nomVille FROM ville v, traverser tr WHERE tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.codetrajet = $1 AND tr.numeroetape = (SELECT MAX(numeroetape) FROM traverser WHERE codetrajet = $1);", array($codetajet));
$return = false; $return = false;
if ($result) { if ($result) {
$return = pg_fetch_array($result); $return = pg_fetch_array($result)[0];
} }
return $return; return $return;
} }
//Annuler le trajet $codetrajet
function annulerTrajet($db, $codetrajet){ function annulerTrajet($db, $codetrajet){
$result = pg_query_params($db, "UPDATE Trajet SET estannule = true WHERE codetrajet = $1;", array($codetrajet)); $result = pg_query_params($db, "UPDATE Trajet SET estannule = true WHERE codetrajet = $1;", array($codetrajet));
return $result; return $result;
} }
//Annuler la reservation pour le tajet $codetrajet de l'utilisateur $mail
function annulerReservation($db, $mail,$codetrajet){ function annulerReservation($db, $mail,$codetrajet){
$result = pg_query_params($db, "DELETE FROM reserver WHERE codetrajet = $1 AND mailutilisateur = $2;", array($codetrajet, $mail)); $result = pg_query_params($db, "DELETE FROM reserver WHERE codetrajet = $1 AND mailutilisateur = $2;", array($codetrajet, $mail));
return $result; return $result;
@ -206,13 +194,4 @@ function getErrorDepotTrajet($code)
} }
} }
//Verifie l'existance d'un avis pour le trajet $codetrajet émit par l'utilisateur $mail
function avisExiste($db, $mail, $codetrajet){
$result = pg_query_params($db, "SELECT COUNT(*) FROM Avis WHERE mailemetteur = $1 AND codetrajet = $2;", array($mail, $codetrajet));
if(!$result){
return false;
}
return pg_fetch_array($result)[0] != 0;
}
?> ?>

@ -111,7 +111,6 @@ function getLogin($db, $mail)
function getPathImgProfilTableau($mail) function getPathImgProfilTableau($mail)
{ {
//Récuperer le fichier contenant $mail dans son nom
$list = scandir("../imageProfil"); $list = scandir("../imageProfil");
foreach ($list as $entry) { foreach ($list as $entry) {
if (strpos($entry, $mail) !== false) { if (strpos($entry, $mail) !== false) {
@ -123,7 +122,6 @@ function getPathImgProfilTableau($mail)
function getPathImgProfil($mail) function getPathImgProfil($mail)
{ {
//Récuperer le fichier contenant $mail dans son nom
$list = scandir("../imageProfil"); $list = scandir("../imageProfil");
foreach ($list as $entry) { foreach ($list as $entry) {
if (strpos($entry, $mail) !== false) { if (strpos($entry, $mail) !== false) {
@ -135,7 +133,6 @@ function getPathImgProfil($mail)
function supprimerAvatar($mail) function supprimerAvatar($mail)
{ {
//Supprimer le fichier contenant $mail dans son nom
$list = scandir("../imageProfil"); $list = scandir("../imageProfil");
foreach ($list as $entry) { foreach ($list as $entry) {
if (strpos($entry, $mail) !== false) { if (strpos($entry, $mail) !== false) {
@ -191,7 +188,6 @@ function uploadAvatar($mail, $fic)
function deluser($db, $delmail) function deluser($db, $delmail)
{ {
//Remplacer le mail de l'utilisateur à supprimer par l'utilisateur utilisateur_supprime@local
$requete = "UPDATE trajet SET mailproposition = $1 WHERE mailproposition = $2;"; $requete = "UPDATE trajet SET mailproposition = $1 WHERE mailproposition = $2;";
$result1 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail)); $result1 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail));
$requete = "UPDATE reserver SET mailutilisateur = $1 WHERE mailutilisateur = $2;"; $requete = "UPDATE reserver SET mailutilisateur = $1 WHERE mailutilisateur = $2;";
@ -200,7 +196,6 @@ function deluser($db, $delmail)
$result3 = pg_query_params($db, $requete, array($delmail)); $result3 = pg_query_params($db, $requete, array($delmail));
$requete = "UPDATE voiture SET mail = $1 WHERE mail = $2;"; $requete = "UPDATE voiture SET mail = $1 WHERE mail = $2;";
$result4 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail)); $result4 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail));
//Supprimer l'utilisateur $mail
$requete = "DELETE FROM utilisateur WHERE mail = $1;"; $requete = "DELETE FROM utilisateur WHERE mail = $1;";
$result5 = pg_query_params($db, $requete, array($delmail)); $result5 = pg_query_params($db, $requete, array($delmail));
return $result1 && $result2 && $result3 && $result4 && $result5; return $result1 && $result2 && $result3 && $result4 && $result5;

@ -1,22 +1,16 @@
* { *{
margin: 0; margin: 0;
padding: 0; padding: 0;
font-family: "Arial"; font-family: "Arial";
} }
body { h1{
background-image: url("../ressources/image/background.jpg");
background-size: cover;
background-attachment: fixed;
}
h1 {
font-size: 3em; font-size: 3em;
text-align: center; text-align: center;
text-decoration: underline; text-decoration: underline;
} }
#content { #content{
min-width: 320px; min-width: 320px;
width: 100%; width: 100%;
display: flex; display: flex;
@ -25,22 +19,20 @@ h1 {
align-items: center; align-items: center;
} }
#tableauBord { #tableauBord{
border-radius: 10px;
background-color: white;
margin: 2em; margin: 2em;
padding: 1em; padding: 1em;
width: 70%; width: 100%;
} }
#divImgProfil { #divImgProfil{
width: 100%; width: 100%;
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
justify-content: center; justify-content: center;
} }
#imgProfil { #imgProfil{
background-color: white; background-color: white;
margin-top: 2.5em; margin-top: 2.5em;
width: 60%; width: 60%;
@ -50,22 +42,7 @@ h1 {
border-radius: 10px; border-radius: 10px;
} }
.button{ #trajet{
text-decoration: none;
cursor: pointer;
font-weight: bold;
padding: 12px;
color: white;
background-color: rgb(65, 154, 28);
border-radius: 5em;
border: none;
}
.button:hover{
background-color: rgb(80, 174, 48);
}
#trajet {
margin-top: 2em; margin-top: 2em;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -75,18 +52,35 @@ h1 {
width: 100%; width: 100%;
} }
#btnTrajet2 { .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%; margin-left: 10%;
} }
#recap { #recap{
margin-top: 2.5em; margin-top: 2.5em;
width: 50%; width: 50%;
margin-left: 50%; margin-left: 50%;
transform: translate(-50%); transform: translate(-50%);
} }
.recapLine { .recapLine{
margin-bottom: 1.5em; margin-bottom: 1.5em;
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
@ -95,11 +89,11 @@ h1 {
width: 100%; width: 100%;
} }
.recapIcon { .recapIcon{
width: 50px; width: 50px;
height: 50px; height: 50px;
} }
p { p{
margin-left: 10%; margin-left: 10%;
} }

@ -23,8 +23,8 @@ require_once ('../ressources/verifconnecte.php');
<img id="imgProfil" src="<?php echo getPathImgProfilTableau($mail); ?>"> <img id="imgProfil" src="<?php echo getPathImgProfilTableau($mail); ?>">
</div> </div>
<div id="trajet"> <div id="trajet">
<a class="button" href="../deposerTrajet/depotTrajet.php">Déposer un trajet</a> <a class="btnTrajet" href="../deposerTrajet/depotTrajet.php">Déposer un trajet</a>
<a id="btnTrajet2" class="button" href="../recherche/recherche.php">Rechercher un trajet</a> <a id="btnTrajet2" class="btnTrajet" href="../recherche/recherche.php">Rechercher un trajet</a>
</div> </div>
<div id="recap"> <div id="recap">
<div class="recapLine"> <div class="recapLine">

Loading…
Cancel
Save