Commit 50808cbf authored by vautrin33u's avatar vautrin33u
Browse files

Correction bug et rendu final

parent b27f20c0
......@@ -15,6 +15,9 @@ if (!isset($_SESSION['id'])){
header("location:index.php");
}
if (isset($_POST['success'])) header("Refresh:0");
if (isset($_POST['connexion'])){
header("location:connexion.php");
}
......@@ -104,7 +107,11 @@ if (isset($_POST['deconnecter'])){
$pseudoExists = $mysqli->query("SELECT 1 FROM utilisateurs WHERE pseudo LIKE '{$_POST['pseudo']}'");
if($pseudoExists->num_rows == 0){
$newPseudo = $_POST['pseudo'];
}
$_SESSION['pseudo'] = $newPseudo;
}else{
$erreur = true;
$strerr .= '<li> Pseudonyme indisponible </li>';
}
}
if($_POST['nom'] != ""){
$nom = $_POST['nom'];
......@@ -116,10 +123,10 @@ if (isset($_POST['deconnecter'])){
$email = $_POST['email'];
if (!$email == "" && !filter_var($email, FILTER_VALIDATE_EMAIL )){
$erreur = true;
$strerr = '<li> Adresse e-mail invalide </li>';
$strerr .= '<li> Adresse e-mail invalide </li>';
}
}
if($_POST['sexe'] != ""){
if(isset($_POST['sexe'])){
$sexe = $_POST['sexe'];
}
if($_POST['adresse'] != ""){
......@@ -129,7 +136,7 @@ if (isset($_POST['deconnecter'])){
$numtelephone = $_POST['numtelephone'];
if (!$numtelephone == "" && !is_numeric($numtelephone) && strlen($codepostal) != 10){
$erreur = true;
$strerr = '<li> Numéro de téléphone invalide </li>';
$strerr .= '<li> Numéro de téléphone invalide </li>';
}
}
if($_POST['ville'] != ""){
......@@ -139,7 +146,7 @@ if (isset($_POST['deconnecter'])){
$codepostal = $_POST['codepostal'];
if (!$codepostal == "" && !is_numeric($codepostal) && strlen($codepostal) != 5){
$erreur = true;
$strerr = '<li> Code postal invalide </li>';
$strerr .= '<li> Code postal invalide </li>';
}
}
......@@ -148,7 +155,7 @@ if (isset($_POST['deconnecter'])){
$password = $_POST['password'];
}else{
$erreur = true;
$strerr = '<li> Mot de passe invalide </li>';
$strerr .= '<li> Mot de passe invalide </li>';
}
}
......@@ -160,13 +167,13 @@ if (isset($_POST['deconnecter'])){
$erreur = false;
}else{
$res = $mysqli->query("UPDATE utilisateurs SET nom = '{$nom}', prenom = '{$prenom}', email = '{$email}', sexe = '{$sexe}', adresse = '{$adresse}', numtelephone = '{$numtelephone}', datenaissance = '{$datenaissance}', ville = '{$ville}', pseudo = '{$newPseudo}', codepostal = '{$codepostal}', password = '{$password}' WHERE pseudo = '{$pseudo}';");
header("Refresh:0");
$_POST['success'] = true;
}
}
echo "<div class='formProfil'>
<label for='pseudo'>Pseudo actuel : ".$pseudo." - Modifier le : </label>
<label for='pseudo'>Pseudo actuel : ".$newPseudo." - Modifier le : </label>
<input type='text' name='pseudo' id='pseudo' />
</div>";
......@@ -221,6 +228,8 @@ if (isset($_POST['deconnecter'])){
<input name='numtelephone' type='tel'/>
</div>";
?>
<div class='formProfil'>
<input type="submit" name="modifier" class="button" value="Modifier"/>
......
......@@ -83,7 +83,6 @@ function realiseConnexion ($json){
$_SESSION['id'] = $resultat['user_id'];
$_SESSION['mdp'] = $resultat['password'];
$favs = $mysqli->query("SELECT p.recette_id FROM utilisateurs u, panier p WHERE u.user_id = p.user_id AND u.user_id = {$resultat['user_id']}");
while($col = mysqli_fetch_assoc($favs)) {
$resultats[] = $col['recette_id'];
......@@ -188,10 +187,10 @@ function loadImage (string $nom){
*/
function getPanier (){
if (isset($_SESSION['id'])){ // si connecté
$requete = "SELECT r.id, r.titre, r.preparation, r.ingredients FROM recettes r, panier p WHERE p.recette_id = r.id AND p.user_id = {$_SESSION['id']}";
$requete = "SELECT r.id, r.titre, r.preparation, r.ingredients, r.photo FROM recettes r, panier p WHERE p.recette_id = r.id AND p.user_id = {$_SESSION['id']}";
echo queryDBB($requete);
}else{
$requete = "SELECT id, titre, preparation, ingredients FROM recettes WHERE ";
$requete = "SELECT id, titre, preparation, ingredients, photo FROM recettes WHERE ";
for ($i = 0; $i < count($_SESSION['panier']); $i++) {
if ($i < count($_SESSION['panier']) -1){
$requete .= "id = ". $_SESSION['panier'][$i]." OR ";
......
#recherche{
display: flex;
justify-content: space-evenly;
width: 50%;
min-width: none;
min-height: 30px;
}
#panier{
top: 0;
right :0;
position: fixed;
}
#header{
display: flex;
position: fixed;
top:0px;
width: 100%;
min-width: 600px;
height: 100px;
background-color: #c483a6;
}
#recettes{
padding-top: 5%;
width : 90%;
min-width: 400px;
margin: auto;
}
img {
max-width: 100%;
height: auto;
width: auto\9;
}
body{
background-color: #c483a6;
color: white;
}
h2{
color: #fec4ae;
font-weight: bold;
text-align: center;
}
img{
display:block;
margin-left:auto;
margin-right:auto;
border: 2px solid #5e3657;
}
ul{
text-align: center;
}
@keyframes recette {
from {background-color: #c483a6;}
to {background-color: #743d5a;}
from {color: #c483a6;}
to {color: #ffffff;}
}
.recetteSolo {
background-color: #743d5a;
animation-name: recette;
animation-duration: 0.4s;
border: 2px solid #422852;
}
/* Correspont au texte + liste de chaque recette */
.preparation{
padding: 50px;
}
button {
background-color:white;
border-radius:12px;
border: 2px solid black;
transition-duration:0.4s;
}
input{
background-color:white;
font-size:16px;
border-radius:12px;
border: 2px solid black;
transition-duration:0.4s;
}
#requete{
width: 20%;
min-width:200px;
}
input:hover, button:enabled:hover{
background-color:black;
color:white;
}
input + input{
margin-right: 2%;
margin-left: 2%;
}
.with {
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right : 2px;
background-color: darkgreen;
border-radius:12px;
border: 2px solid black;
transition-duration:0.4s;
}
.without {
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right : 2px;
background-color: darkred;
border-radius:12px;
border: 2px solid black;
}
#profil{
position: fixed;
margin-right:10em;
right:0;
}
......@@ -61,7 +61,7 @@ function afficheRecettes(recette){
let paragraph = document.createElement('p'); // paragraphe contenant la liste et description
var liste = document.createElement('ul'); // liste
liste.innerHTML += "Ingrédients :";
liste.innerHTML += "<strong>Ingrédients :</strong>";
// Récupération du contenu
titre.textContent = recette[i].titre;
......@@ -72,34 +72,17 @@ function afficheRecettes(recette){
for (var j = 0; j<ingredients.length; j++){
liste.innerHTML += "<li>"+ingredients[j]+"</li>";
}
/*
const search = recette[i].titre;
// Génère l'objet de requête à envoyer au serveur (traiter par Service.php) : le nom de la recette
const input = {
images : search
};
// Envoie de la requête
var xhr = new XMLHttpRequest();
xhr.open('POST', "/Service.php", true);
xhr.onload = () => {
if (xhr.response != null){
image.src = xhr.responseText;
}
};
xhr.send(JSON.stringify(input));
*/
let ul = document.createElement('ul'); // image
div.append(conteneur);
conteneur.append(titre);
if (recette[i].photo != null){
let image = document.createElement('img'); // image
image.src = recette[i].photo;
ul.append(image);
}
// Ajout à la div de recettes
div.append(conteneur);
conteneur.append(titre);
conteneur.append(image);
if (ul.innerHTML !== "") conteneur.append(ul);
conteneur.append(paragraph);
paragraph.append(liste);
ajoutFormulaire(conteneur, paragraph, recette[i]);
......
......@@ -123,23 +123,6 @@ function afficheRecettes(recette){
liste.innerHTML += "<li>"+ingredients[j]+"</li>";
}
/*
const search = recette[i].titre;
// Génère l'objet de requête à envoyer au serveur (traiter par Service.php) : le nom de la recette
const input = {
images : search
};
// Envoie de la requête
var xhr = new XMLHttpRequest();
xhr.open('POST', "/Service.php", true);
xhr.onload = () => {
if (xhr.response != null){
image.src = xhr.responseText;
}
};
xhr.send(JSON.stringify(input));
*/
// Ajout à la div de recettes
let ul = document.createElement('ul'); // image
......
<?php
include "Donnees.inc.php";
include "configuration.php";
echo "<pre>";
if (isset($decoded['filtre'])){
searchFilters ($decoded['avec'], $decoded['sans']);
}
function searchFilters ($inclure, $exclure){
// recherche de la recette
// Création de la requête avec les recettes à inclure
$requete = "
select distinct r.id, r.titre, r.ingredients, r.preparation, r.photo
from recettes r, ingredientsderecettes ing, hierarchie h where
(h.sous_nom = ing.nomIngredient OR h.super_nom = ing.nomIngredient)
AND ing.idBoisson = r.id
AND (";
$nb = count($inclure);
$i = 0;
foreach ($inclure as $item){
if ($i < $nb-1){
$requete .= "ing.nomIngredient LIKE '{$item}%' OR ";
}else{
$requete .= "ing.nomIngredient LIKE '{$item}%')";
}
$i++;
}
// Création de la requête avec les recettes à exclure
$requeteOut = "
select distinct r.id, r.titre, r.ingredients, r.preparation, r.photo
from recettes r, ingredientsderecettes ing, hierarchie h where
(h.sous_nom = ing.nomIngredient OR h.super_nom = ing.nomIngredient)
AND ing.idBoisson = r.id
AND (";
$nb = count($exclure);
$i = 0;
foreach ($exclure as $item){
if ($i < $nb-1){
$requeteOut .= "ing.nomIngredient LIKE '{$item}%' OR ";
}else{
$requeteOut .= "ing.nomIngredient LIKE '{$item}%')";
}
$i++;
}
$mysqli= connect_to_db();
$res = $mysqli->query($requete);
if ($res != false){
$recettes = $res->fetch_all(MYSQLI_ASSOC);
}else{
$recettes = false;
}
$res = $mysqli->query($requeteOut);
if ($res != false){
$filtre = $res->fetch_all(MYSQLI_ASSOC);
}else{
$filtre = false;
}
if ($filtre != false){
if ($recettes != false){
$sortie = array_diff($recettes, $filtre);
}else{
$sortie = false;
}
}else{
$sortie = $recettes;
}
$mysqli->close();
echo json_encode($sortie);
return json_encode($sortie);
}
// Parcours de la hiérarchie
/*
foreach ($Hierarchie as $item=>$val){
echo $item; // niveau actuel
echo '</br>';
foreach($val as $key=>$elem){ // niveau des sous-sup cat
echo $key;
echo '</br>';
foreach($elem as $k=>$v){ // niveau d'exploration des sous-cat'
echo $v;
echo '</br>';
}
}
echo '</br>';
echo '</br>';
}*/
/*
foreach ($Recettes as $item){
echo $item['titre'];
echo '</br>';
foreach ($item['index'] as $elem){
echo $elem;
echo '</br>';
}
echo '</br>';
echo '</br>';
}
*/
echo "</pre>"
?>
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment