page panier en php
Posté : 27 juil. 2021, 22:28
Bonjour,
en ce moment je travaille sur un site de rachat des écrans de téléphone ,j'ai créé la page panier mais j'ai quelques problème quand je consulte directement la page panier.php j'ai plein de notice (des variable indéfinie )et si je rajoute des article dans mon panier quand je consulte la page panier et je rafraichie la quantité du dernier article ajouter s'incrémente toute seul ..
pouvez-vous m'aidez
en ce moment je travaille sur un site de rachat des écrans de téléphone ,j'ai créé la page panier mais j'ai quelques problème quand je consulte directement la page panier.php j'ai plein de notice (des variable indéfinie )et si je rajoute des article dans mon panier quand je consulte la page panier et je rafraichie la quantité du dernier article ajouter s'incrémente toute seul ..
pouvez-vous m'aidez
Code : Tout sélectionner
<?php
session_start();
function Getfloat($str){
if (strstr($str,",")){
$str=str_replace(",",".",$str);
return $str;
}
$str=floatval($str);
$str=round(($str),2);
return $str;
}
function v_d($donnees){
$donnees = trim($donnees);
$donnees = stripslashes($donnees);
$donnees = htmlspecialchars($donnees);
return $donnees;
}
if(!isset($_SESSION['panier'])){
$_SESSION['panier']=[];
$_SESSION['panier']['nom'] = [];
$_SESSION['panier']['quantite'] =[];
$_SESSION['panier']['prix'] = [];
}
$quantite=0;
$prix=0;
$nom=' ';
$total=0;
if (isset($_GET['quantite'])){
$quantite=intval($_GET['quantite']);
}
if (isset($_GET['nom'])){
$nom=v_d($_GET['nom']);
}
if (isset($_GET['prix'])){
$prix=Getfloat($_GET['prix']);
}
echo "prix".round(($prix),2)."<br>";
echo "nom".$nom."<br>";
echo "quantite".$quantite."<br>";
//Si le panier existe
if (isset($_SESSION['panier']))
{
//Si le produit existe déjà on ajoute seulement la quantité
$positionProduit = array_search($nom, $_SESSION['panier']['nom'], $strict=true);
if ($positionProduit !== false)
{
$_SESSION['panier']['quantite'][$positionProduit]++ ;
}
else
{
//Sinon on ajoute le produit
array_push( $_SESSION['panier']['nom'],$nom);
array_push( $_SESSION['panier']['quantite'],$quantite);
array_push( $_SESSION['panier']['prix'],$prix);
}
}
else{
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
?>
<!DOCTYPE html>
<html>
<head>
<!-- META -->
<title>ecoscreen</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="description" content="" />
</head>
<body>
<?php
include('menu.php');
?>
<div class="grid">
<div class="col_12" style="margin-top:100px;">
<table cellspacing="0" cellpadding="0" class="striped">
<thead><tr>
<th>nom</th>
<th>quantité</th>
<th>prix</th>
</tr></thead>
<tbody>
<?php
$nbArticles=count(($_SESSION['panier']['nom']));
if ($nbArticles <= 0){
echo "<tr><td>Votre panier est vide </ td></tr>";
}
else
{
for ($i=0 ;$i < $nbArticles ; $i++)
{
echo "<tr>";
echo "<td>".($_SESSION['panier']['nom'][$i])."</ td>";
echo "<td>".($_SESSION['panier']['quantite'][$i])."</td>";
echo "<td>".round(($_SESSION['panier']['prix'][$i]),2)."€</td>";
echo "<td><a href=\"".htmlspecialchars("sup-produit.php?&l=".rawurlencode($_SESSION['panier']['nom'][$i]))."\"> <i class=\"fa fa-trash\" ></i></a>";
echo "</tr>";
}
}
?>
</tbody>
</table>
<?php
for($i = 0; $i < count($_SESSION['panier']['nom']); $i++)
{
$total += $_SESSION['panier']['quantite'][$i] * $_SESSION['panier']['prix'][$i];
}
echo "<p>vous avez <b>" .$nbArticles." </b> article dans votre panier</p>";
echo "<p>votre totale est de <b> :" .round($total,2)." €</p>";
?>
<button><a href="viderpanier.php">vider le panier</a></button>
</div>
<?php
?>
</div> <!-- End Grid -->
</body>
</html>