Skip to content
Snippets Groups Projects
Commit 50808cbf authored by vautrin33u's avatar vautrin33u
Browse files

Correction bug et rendu final

parent b27f20c0
No related branches found
No related tags found
No related merge requests found
......@@ -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"/>
......
File added
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment