Bonjour,
Etant actuelement en formation développeur web, je dois programmer un site e-commerce.
Je suis arrivé à un moment ou je ne comprend pas trop comment m'y prendre.
Je dois faire une fonction removeCart() qui va vider le panier et je dois l'appeller un utilisant la fonction dans un paramétre GET de l'URL.
Voila mon code
<?php
session_start();
include 'function.php' ?>
<?php
if(isset($_POST['name']) && !empty($_POST['name'])){ // Méthode utilisé afin de palier au problème du rafraichissement de la page qui supprime les articles
header('location:cart.php');
}
if (!isset($_SESSION['cart'])) { // Si mon panier n'existe pas , je le créer
$_SESSION['cart'] = [];
}
if (isset($_POST['quantite']) AND isset($_POST['prix'])) { //Si la quantité et le prix sont paramétré, je les ajoutes a mon panier
$_SESSION['cart'][] = ['name'=> $_POST['name'],'quantite' => intval($_POST['quantite']),'prix'=> intval($_POST['prix'])];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"/>
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<div class="display-cart">
<h3>Contenu du panier</h3>
<?php
foreach ($_SESSION['cart'] as $element) {//J'attribue chaque valeur de mon panier a la variable element
displayArticlePanier($element['name'],$element['quantite']); //J'affiche mes article avec en paramétre le nom et la quantité
}
if (isset($element['prix'])) //Si mon prix existe, je l'affiche, sinon mon panier est vide
totalCart($element['prix']);
else
echo 'Votre panier est vide';
?>
<a href="cart.php?delete=<?php removeCart()?>">Vider le panier</a>
</div>
<center><a href="index.php">Revenir au catalogue</a></center>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</body>
</html>
Ma fonction removeCart contient ceci :
function removeCart(){
if (isset($_SESSION['cart'])) {
unset($_SESSION['cart']);
}
Quand j'essaye d'ajouter un article a mon panier avec ce code, rien ne s'ajoute.
Quand j'essaye d'ajouter un article sans cette ligne :
<a href="cart.php?delete=<?php removeCart()?>">Vider le panier</a>
mes articles s'ajoute bien dans mon panier.
A force de chercher une réponse, je m'enfonce dans la bétise et du coup n'arrive pas a régler ce problème ^^.
Je précise que je n'utilise pas encore les classes ni la connexion a une BDD, tout les articles sont dans un tableau-multidimensionel.
J'espère être assez claire dans mon explication et espère que vous pourrez m'aider dans ma quête =)